Избранное трейдера S&P
Эффективность математики только в поиске закономерности рыночного движения — паттернов которые способны реально материализовать вашу прибыль.
--
-- Выполнение действий с массивами.
--
local pairs = pairs
local type = type
module(...)
--- Создать копию массива (таблицы)
-- @return копию массива (таблицы)
function copy(array)
local copy_array = {}
if type(array) ~= "table" then
return array
end
for k, v in pairs(array) do
if type(v) == "table" then
copy_array[k] = copy(v)
else
copy_array[k] = v
end
end
return copy_array
end
--- Узнать, начинается ли индексация в массиве с нуля или с единицы.
-- @return 0 или 1
function base(array)
if array[0] ~= nil then
return 0
else
return 1
end
end
--- Вычислить число элементов в массиве.
-- @return число элементов в массиве
function size(array)
local n = 0
for _, _ in pairs(array) do
n = n + 1
end
return n
end
--- Проверить пустой или нет массив.
-- @return true/false
function isEmpty(array)
for _, _ in pairs(array) do
return false
end
return true
end
--- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1.
-- @return первый индекс массива, где ничего не записано
function firstEmptyIndex(array)
local i = 1
while array[i] ~= nil do
i = i + 1
end
return i
endДля моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.
Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.
Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.
Возможности новой версии
1. Реализован функционал быстрого фильтра в таблицах. Для активации \ деактивации быстрого фильтра используется пункт «Включить быстрый фильтр» \ «Выключить быстрый фильтр» контекстного меню, открываемого для заголовка самого левого столбца таблицы. Данный функционал позволяет фильтровать информацию в таблицах QUIK с наглядным отображением критериев фильтрации.
Технологический Центр Дойче Банка запускает бесплатный видеокурс на русском языке — “Finmath for Fintech”. Хотите разобраться, какие математические модели лежат в основе опционов, облигаций и свопов?
Эксперты в области финтеха помогут! Из курса вы узнаете:
• Как вычислить справедливую цену финансового инструмента
• Какие существуют риски, связанные с инвестированием в инструменты
• Примеры прикладных задач, с которыми сталкивается финтех
Видеолекции будут выходить каждую неделю, следите за новостями в соцсетях компании.

Привет, новая неделя – новый бэктест факторной стратегии на Мосбирже. В прошлый раз была проверена стратегия Value через мультипликаторы P/E и P/BV https://smart-lab.ru/blog/609357.php В этот раз мы проверили стратегию Momentum на российских акциях.
Суть ее очень проста – покупаем акции, которые сильнее всего выросли за последние 6 месяцев и шортим акции с худшей динамикой цены за тот же период. Стратегия получается рыночно нейтральной (в теории, на самом деле — корреляция с рынком очевидна) и если у такого лонг-шорт портфеля есть положительная доходность, то мы можем сказать, что на Мосбирже есть моментум эффект.
Воспользовавшись поиском по Смартлабу можно найти несколько интересных исследований по моментуму (если что-то упущено, пожалуйста, дайте ссылку в комментариях) – «Есть ли сила в моментуме» от at6 https://smart-lab.ru/blog/596080.php и «Как обогнать индекс (пример выигрышной торговой стратегии)» от AlexChi https://smart-lab.ru/blog/499362.php
После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические модели и выполнять статистические тесты. За основу были взяты эта статья и эта статья. Само описание используемой функции на английском доступно по следующей ссылке.
Сначала немного теории:
О линейной регрессии
Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).