Блог им. AlexeyPetrushin |Алготрейдинг, компенсировать убытки и боковики

Я покупаю недооцененные компании и сектора, в надежде что они могут вырасти в течении 1-3 лет, иногда до 5 лет, на базе финотчетности, фундамент анализ. . 

Большая проблема, что часто после покупки «на дне», через неск мес цена может упасть дальше "второе дно", а иногда еще через неск месяцев падает еще дальше и получаешь «третье дно». Это ожидаемо, и на такой случай часть денег оставлялась в кеше, на докупку (усреднение) после падения, но все равно это очень неприятно, когда позиции падают.

Также, цена может долго идти боковиной и год и три, иногда даже четыре.

Я никогда не интересовался алготрейдингом, поскольку не верил что смогу на нем превысить прибыль от рынка. Но недавно меня осенило — можно использовать алготрейдинг не для повышения прибыли, а для компенсации провалов и боковин. В итоге прибыль долгосрочно будет примерно такая же, но эффект от провалов и боковин будет меньше.

Стратегия.

  • При открытии позиции, на акцию выделяется 60% и 40% на кеш.
  • Затем раз в день проверяется цены и если баланс 60/40 отклоняется больше чем на 5% делается ребалансировка назад в 60/40.


( Читать дальше )

Блог им. AlexeyPetrushin |Чем Julia лучше Python

Кратко отличия Матлаб/Питон/Джулия sciml.github.io/Scientific_Modeling_Cheatsheet/scientific_modeling_cheatsheet

По сути Джулия это современный Матлаб.

И позволяет любые питоновские и R библиотеки использовать, подключая их и используя код питон прямо в julia.

И скоростью.

Но требует несколько дней, неделю освоится с VS Code Shift+Enter, чтоб держать сессию без рестарта, и настроить какой нить генератор отчетов типа как на R, она показывает графики в VS Code, но с генератором отчетов удобней.

R — слишком специфичен.
Python — огромная библиотека, в целом простой, но, скажем дипломатично очень далек от эргономики и красоты. И часто медленный.
Matlab — наверно был лучшим для своего времени, и куча всего, но староват, часто медленный и как язык имеет ряд недостатков.

Блог им. AlexeyPetrushin |Теория Управления

Красиво, все в одной картинке.

Применительно к финансам, интересны в первую очередь State Estimation, Modelling and Simulation
Теория Управления



Блог им. AlexeyPetrushin |Похоже алготрейдинг может дать прибыль

Я не верил что на алготрейдинге можно заработать больше чем при фундаментальном, долгосрочном инвестировании.

В основном я делаю странные самобытные эксперименты, и работаю в изоляции, и не в курсе новостей и подходов. Последние неск дней изучал что делают другие люди, Stochastic Volatility модели, как они используют GARCH и т.п.

Многие допускают несколько, на мой взгляд, неточностей. Которые, по идее — дают неточный прогноз, и перекосы в цене, и возможно стоило бы проверить рынок и посмотреть есть ли там деньги.

У меня нет на это времени, я продолжу средне-низко частотный долгосрочный фундаментальный инвестиции.

Но, по алготрейдингу я поменял мнение, возможно там есть прибыль и возможно ее стоит поискать. Фонды типа Медальена по идее должны найти и обнулить все такие аномалии, но, кто знает… если эти ошибки массовые, а они походу достаточно массовые, может Медальен не смог их всех сожрать и какие то крохи найти можно...

И, также это может сказаться на краткосрочных опционах.

Неточности перечислять не буду, возможно воспользуюсь ими если в будущем будет время заняться краткосрочным высокочастотным подходом…

Блог им. AlexeyPetrushin |Предсказателтные Модели vs Генеративные

Предсказательные предсказывают функцию (волатильность, цену), точнее ее среднее E[f(x)]. Он не похожи на настоящий случайный процесс, слишком плавные.

AR, MA, ARMA, HAR (с долгой памятью)

Генеративные предсказывают как функцию так и первую производную (ее дискретный аналог, приращения). Они предсказывпют не только среднее знач функции, но и ее микроструктуру.
Они похожи на настоящий процесс.

ARIMA, ARCH, GARCH, ARFIMA (с долгой памятью), они также могут работать как предсказательные.

SV, Heston, SVJ, SABR, Local SV, Rough Volatility и т.п. (не могут предсказывать напрямую, требуют симуляции)

Для них также можно также задать дополнительное условие для производной совпадение hurst exponent, может еще спектра.

Блог им. AlexeyPetrushin |Определение экспоненты Тяжелых Хвостов

Много методов: Hill, EVT GPT, регрессия. И все с точностью километр. На графике — 30 симуляций: 30 сэмплов StudentT(df=4) 20к, для каждого сэмпла определяется df различным эстиматором (цвет линии), ось х — значение трешхолда эстиматора. 

Определение экспоненты Тяжелых Хвостов
Правильный результат — постоянная линия с y=4. Единственный нормальный результат (красные линии) это MLE полного распределения, но это именно что эстиматор полного распределение, а не Tail Estimator. Среди хвостовых эстиматоров ни одного хорошего.

EVT GPT на который я больше всего расчитывал (синии линии), вообще ничего не измеряет (но возможно я допустил ошибку и неверно его считаю, по идее он должен быть самый точный).

Подробней www.reddit.com/r/nassimtaleb/comments/1mdwqjw/huge_errors_in_heavy_tail_estimators_hill_evt_gpt/
Код gist.github.com/al6x/11e66ab92c525f2ef2c1510e6ac7a3f7

Блог им. AlexeyPetrushin |Hill Estimator не работает для SkewStudentT

Получается неверный результат если есть ассиметричность, настоящее значение 4, но он неверно определяет как 3 для левого и 5 дле правого хвоста. Или, скорей дело не в Hill а само распределение искажает хвосты? Никто не сталкивался? код

Hill Estimator не работает для SkewStudentT

На графике две линии должны стабилизироваться на отметке 4, а они показывают 3 и 5.

Блог им. AlexeyPetrushin |Python vs Julia

Юля на мой взгляд лучше для понимания чем Питон, так сказать Matlab для рабочего человека :) (даже, Юля лучше чем Матлаб)

Python vs Julia
Питон



( Читать дальше )

Блог им. AlexeyPetrushin |Убрать survivorship bias из исторических данных

Думаю как убрать перекосы из данных, отсутствуют акции компаний которые обанкротились и были исключены из выборки. Нужно скорректировать, чтобы избавиться от эффекта выживших.

Исходные данные: 250 акций, известны текущая волатильность и будущие годовые лог доходности на протяжении N лет (все 250 акций начинаются с 1972 и заканчиваются в 2025).

Вероятность банкротства как условная вероятность от волатильности: P(b|sigma). Она рассчитана по модели

logit P(b|σ) = α + βσ, где beta~3-4, а alpha выбрана так, чтобы суммарная годовая вероятность банкротства составляла около 0.5%.

Ниже — табличное представление этой зависимости по квантилям волатильности.

Величина падения при банкротстве — почти всегда это полная потеря (−100%). Конкретное распределение убытков приведено ниже в виде PMF.

После события банкротства все будущие доходности акции полностью исключаются из выборки.

Чтобы не терять данные, я решил продублировать данные в 10 раз. Это приведёт к искажению доверительных интервалов, но сохранить больше данных — приоритет важнее.



( Читать дальше )

Блог им. AlexeyPetrushin |Ожидаемая цена акций не одинакова, и зависит от волатильности

Сделал повторный фиттинг на специально подготовленных исторических данных, исключив по возможности предвзятости и неравномерности, 250 акций, 50 лет истории каждая (хотя, bias — ошибка выжившего остается). Получается сильная зависимость от волатильности.

Например, ожидаемая годовая прибыль получается для INTC х1.18, KO х1.06.

Модель для фиттинга E[R_365] = a + b*r_rf_365 + c*sqrt(var_365) оптимизация наименьших квадратов, все переменные в оригинальном, линейном пространстве, кроме волатильности она посчитана в лог маштабе, как var_365 = 0.8*252*EWMA[log r_daily].

Доверительные интервалы хорошие

a = 0.545548  (95% CI: 0.486466, 0.604631)
b = 0.423923  (95% CI: 0.367767, 0.480078)
c = 0.502396  (95% CI: 0.489426, 0.515367)

Проблема: насколько я понимаю это противоречит классической теории которая говорит что волатильность не влияет на ожидаемую цену. И это противоречит интуиции, мне кажется годовая прибыль х1.18 для Интела и тому подобных волатильных акций слишком высока, я интуитивно оценил бы ее ниже, как 1.1. Но, ошибки вроде нет… я также сделал другой фиттинг, с оптимизацией Likelihood в лог пространстве, он дал похожие результаты.

( Читать дальше )

....все тэги
UPDONW
Новый дизайн