Bayesian regression - Делал ли кто советник по этому алгоритму? - страница 46
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
К попытке применения формулы Байеса. Ещё раз.
Задача. Используя теорему Байеса определить какое значение ещё не пришедшего тика наиболее вероятно.
Дано. Временной ряд x,y.
y=ax+b Линия от последнего тика к будущему.
P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1) Формула Байеса.
P(a,b|x,y)- вероятность того, что коэффициенты a и b соответствуют координатам x и y будущего тика.
Нужно найти такие a и b, что бы эта вероятность ( правильней сказать вероятностная мера) была максимальной.
P(x,y|a,b) - в качестве функции правдоподобия возьмем реальную гистограмму распределения тиков по ценовым уровням. Функция задаётся двухмерным массивом (матрицей) : ценовой диапазон - вероятность, процентное соотношение тиков попавших в этот диапазон к общему числу тиков.
P(b) - в качестве априорной вероятности b берется нормальное распределение приращений. Используется ГПСЧ с нормально распределенной величиной.
P(a) коэффициент а определяет наклон прямой и знак прогнозируемого приращения. Пока мыслю использовать код линейной регрессии выложенный мной раннее. Т.е принять вероятность найденного там коэфф. а за единицу. А в (1) подставлять вероятность Р(а) вычисленную с учетом разности этого а и вычисленного для данного y.
Возможно у вас есть мысли по поводу как ведет себя знак приращений каждого тика?
Набросал 2 индикатора, работают на тиках. Первый определяет A и B для линейной регрессии (на всякий случай для bid и ask отдельно), и рисует линию. Второй - гистограмма тиковых значений (красный - Ask, синий - Bid). Каждый бар тиковых графиков это новый тик, они по времени не совпадают с барами самого чарта.
Это всё что я понял из поста. А что дальше? Если пойму логику то доделаю.
Использование тиков для прогноза по-моему опасно, и модель должна настраиваться для каждого брокера отдельно.
Насчёт реальных тиков - они могут очень сильно отличаться от брокера к брокеру.
Согласен. Я писал выше. Повторюсь.
Форекс это множество ДЦ, форекс-контор, кухонь- европейских, китайских, багамских,бермудских... Их тьма. Ни одна из них не доминирует и не вносит в ценоообразование определяющего вклада, так же и ни один игрок на рынке. Предположение основано на Центральной предельной теореме теории вероятности (ЦПТ) :
" Сумма достаточно большого количества слабо зависимых случайных величин, имеющих примерно одинаковые масштабы (ни одно из слагаемых не доминирует, не вносит в сумму определяющего вклада), имеет распределение, близкое к нормальному."(Википедия)
Как я это понимаю применительно к форексу. Если собрать в одном баре М5 все тики ВСЕХ ДЦ (миллионы тиков) то распределение тиков внутри бара будет близко к нормальному. И чем старше таймфрейм тем ближе. У каждого конкретного ДЦ свой поток котировок отличающийся от доминирующего глобального потока мерой испорченности этого ДЦ. Этот доминирующий поток на графике представляет собой какую то кривую линию ( уж точно не прямую!) от которой никакой ДЦ не может далеко отойти.
Здесь , в ветке, скептически отнеслись к википедийной формулировке ЦПТ. Мне тоже она кажется некорректной. Хотя с тех пор встречал в других источниках именно эту формулировку. Даже в справочнике MQL4 есть пример индикатора по этой формулировке.
ИМХО на достаточно большом количестве приращений, в период слабого воздействия фундаментальных факторов, ЦПТ рулит.
Набросал 2 индикатора, работают на тиках. Первый определяет A и B для линейной регрессии (на всякий случай для bid и ask отдельно), и рисует линию. Второй - гистограмма тиковых значений (красный - Ask, синий - Bid). Каждый бар тиковых графиков это новый тик, они по времени не совпадают с барами самого чарта.
Это всё что я понял из поста. А что дальше? Если пойму логику то доделаю.
Допустим есть некая эталонная цена, которую дают поставщики ликвидности, а котировки брокеров просто скачут вокруг неё. В таком случае котировки каждого брокера будут плясать в каком-то диапазоне вокруг "главной цены", образуя некий купол на гистограмме. Если сложить гистограммы-купола, то в итоге получится что-то по форме напоминающее нормальное распределение, согласен.
Но нам это всё равно не подходит, мы же работаем с котировками одного конкретного брокера, и нормальное распределение вряд ли будет. Я немного понаблюдал за гистограммой, мне брокер даёт максимум 4000 тиков (это минут 20), я их все и использую для гистограммы. По форме это больше напоминает лежащий на боку полу-элипс. Если цена начинает расти/падать - у элипса отрастает тонкий бок, но со временем он опять принимает свою форму. Но иногда и две вершины бывает. Можно попробовать описать эту усреднённую фигуру каким-то другим распределением, и использовать его в расчётах (и не гаусово). Если делать гистограмму на малом количестве тиков, например сто, то там просто бесформенное постоянно скачущее распределение, не думаю что с этим что-то получится, нужна тысяча или больше тиков.
тут на картинке у гистограммы правая треть появилась от быстрого изменения цены, потом всё в целом должно принять форму как левые две трети.
Допустим есть некая эталонная цена, которую дают поставщики ликвидности, а котировки брокеров просто скачут вокруг неё. В таком случае котировки каждого брокера будут плясать в каком-то диапазоне вокруг "главной цены", образуя некий купол на гистограмме. Если сложить гистограммы-купола, то в итоге получится что-то по форме напоминающее нормальное распределение, согласен.
Но нам это всё равно не подходит, мы же работаем с котировками одного конкретного брокера, и нормальное распределение вряд ли будет.
Это другой вопрос. Он касается практического применения.
В формуле (1) функция правдоподобия Р(x,y|a,b) и есть реальная гистограмма реальных тиков реального конкретного брокера. Например вероятность Р(x,y|a,b)=0.12 если 12% от всех тиков в окне попадают в диапазон y(цена)+-диапазон(задаётся). Гистограмму я строю в профиль.
Далее идут корректирующие множители, априорные вероятности P(a) и P(b). Так вот, в качестве P(b) я выбрал нормальное распределение ПРИРАЩЕНИЙ цены. Почему, написано в предыдущих постах.
Я прочитал документ в первом посте, что-то всё совсем плохо получается.
Не осилил многие формулы, поэтому вот просто вольный пересказ. У автора есть bid и ask цены на биткоин за полгода, с интервалом в 10 секунд. Он делает программу (классификатор) которая будет принимать текущие цены, и возвращать три сигнала - на покупку, продажу, и просто удержание открытых позиций. Прогноз делается на 10 секунд вперёд. И тобишь каждые 10 секунд программа должна принимать новые данные и опять всё считать. Исходные данные делятся на несколько векторов, и он использует эти вектора для прогноза цены. Классификатор принимает три массива данных - один за прошлых 30 минут, второй за прошлых 60 минут, третий за прошлых 120 минут (каждый массив это по прежнему цены с интервалом в 10 секунд). Дальше я не понял. Формулы очень напоминают нейронку, тобишь каждому входному значению соответсвует некий вес. Но эти веса применяются на три массива сразу. А дальше внезапно, оказывается что веса найти никак не полчится (но ведь у него нейронка же, о чём он?), и надо пробовать все варианты. Эмпирически автор вывел какуюто формулу, которая должна помочь с оптимизацией весов, отбраковывая то что заведомо не подходит, и где-то там и используется Байесовская регрессия. Ещё результат регрессии возможно используется как входное значение для классификатора.
По моему это похоже на семестровую работу студента, сделанную за пару ночей до сдачи. Пруфов заработка нету :)
Байесовская регрессия хоть и используется, но она там как маленькая часть какой-то сложной системы. Может быть благодаря оптимизированным весам её влияние вообще сведено к нулю. Я могу с такимже успехом встроить в нейронку генератор случайных чисел, или календарь майа, всё равно при оптимизации их влияние будет сведено к нулю.
Попалось две статьи по теме ветки - может быть будут полезны энтузиастам
Статья 1.
Bayesian regression with STAN: Part 1 normal regression
Статья 2
Bayesian regression with STAN Part 2: Beyond normality
Каждая из статей - это реклама двух книг с аналогичным названием
Вы, - инженеры, физики, радисты - такие странные.....
Много раз Вам говорилось тут, что квонты, алготрейдеры, маркет-мейкеры - они не идиоты, что они ХОРОШО разбираются в математике, что им не платят ПРОСТО ТАК по 100К+ зелени в год + бонус, но до вас всех это похоже не доходит.
Цена на биржевом рынке представляет собой самовыражение СЛОЖНОЙ системы, поэтому любая полезная (мало-мальски адекватная) модель цены - НЕ МОЖЕТ БЫТЬ ПРОСТОЙ. Да, там может быть внутри Байесовская регрессия, но только в виде вспомогательного численного метода. А вы тут бросаетесь стадом на "этот ваш хворекс, да мы его вот тута сичас одним только Байесом затопчем!".
Ну да ладно, может вас хоть это вот проймёт: список математических методов, активно применяемых в трейдинге большими маркет-мейкерами, банками и хедж-фондами. Этот список разделён к тому ещё и по узким специальностям, то есть по видам торгуемых финансовых инструментов и по видам прогнозирования в банках. Этот список выложен одним из БЫВШИХ старших сотрудников Citi и JPMorgan. Список этот не секретный, его можно вычислить по 5-10 книгам по финансовой математике (на английском). Но на русском форуме, да ещё в таком полном виде - этот список редкость.
Data Scientist, Statistician
25000 грн
Описание вакансии
PROFESSIONAL REQUIREMENTS (we value the desire to learn on the go the most)
advanced knowledge of Statistics and time series:Stochastic processesTools: SSA/SVD, RSSA, FIMA/ARFIMA, Nonlinear Autoregressive Exogenous Model (NARX), (N)GARCH and its derivatives, Hurst Exponent and its applications, Recurrence quantification analysis (RQA)
Programming experience (or ready to learn) in Python (and set of libraries for all things Statistical)
data analysis libraries in Python (theano, keras, Torch, Pandas, NumPy, scikit-learn) or their equivalents in R
some experience with Machine Learning, collaborative filtering, cluster analysis, Graphs Theory
other blended approaches: ANFIS (adaptive network-based fuzzy inference system)
Neural Networks: unsupervised learning: RNN (Recurrent Neural Networks), FNN, RBF, etc.
TASKS & ENVIRONMENT:
statistical analysis of financial data, econometric applications
Модераторам: удалите плиз случайно не-быстро-удалённую ссылку на оригинал источника, у меня не получается, она всё равно висит у Вас в базе форума в подвале этого поста. А то подумают, что это реклама. Спасибо.
28000 грн
Описание вакансии
PROFESSIONAL REQUIREMENTS (we value the desire to learn on the go the most):
Knowledge of Artificial Neural Networks and Machine Learning, including:
FeedForward Neural Network (FNN)
Recurrent Neural Networks (RNN) family: including Long-Short Term Memory Model (LSTM)
CNN — Convolutional Neural Networks
Radial Basis Function (RBF)
blended approaches ANFIS (Adaptive Network-based Fuzzy Inference System)
Programming experience (or ready to learn) in Python (and set of libraries for all things Statistical)
Machine Learning and data analysis libraries in Python (theano, keras, Torch, Pandas, NumPy, scikit-learn)
additionally, good knowledge of R and/or Matlab would be helpful
RELATED AREAS OF KNOWLEDGE:
advanced knowledge of Statistics and time series (Stochastic processes and Tools): ARFIMA, Nonlinear Autoregressive Exogenous Model (NARX), Wavelet Transforms
spectrum estimation models — Singular Spectrum Analysis (SSA) (SVD)
Collaborative filtering, Cluster analysis, Graphs Theory
TASKS (prioritized order):
statistical analysis of financial data, econometric applications
building services and frameworks for interactive distributed query processing over large volumes of financial markets data