Задача по Datascience (подбор параметров для торговли акциями)

5 000 руб. за проект
25 июня 2024, 16:39 • 4 отклика • 69 просмотров

Решаю задачу подбора торгового
биржевого алгоритма (пока для больше
для разминки мозгов, just for fun так
сказать).



Сейчас:

- Данные (есть
выборка по 10ку бумаг в txt за период
полгода +, минутки) + можем подключить
Algopack

- Подсчет на CPU при помощи Python
Numba используя мультипоточность.

-
Метод решения простой перебор параметров
(ML).

- Накидал уже основные классы
(основу решения) но надо помочь подправить
с учетом будущего большого кратного
масштабирования.



Можно
использовать:

Все что посчитаете
нужным и LLM модели для помощи в написании
кода тоже.



ВО ЧТО НАДО ПЕРЕДЕЛАТЬ,
Основная структура:



1) class
DataPreprocessing (загрузка первичных данных
основной признак price)

Нужно добавить
новых расчитываемых признаков на основе
price например.

- moving average (period = m)

-
macd

- levels ( iloc -n периодов обратно , где
0 = min() 100 = max() а now_level = текущее значение
уровня price[i].

Продумать возможность
масштабирования в будущем, этих
расчитываемых на основе price признаков
может быть овердофига.



2) class
TradingAlgorithm (тут торговый алгоритм)

По
сути тут уравнение когда покупаем и
когда продаем (искомая величина)

-
Покупаем если далее выполнение всех
условий и класса с признаками выше

-
Продаем если price [i] > price [i] + % прибыли
или

- Продаем если price [i] < price[i] -
stop_loss (получили убыток)



3) class
ThresholdOptimizer (поиск решения)

Оптимизатор
пороговых значений - сейчас реализовал
в виде тупого перебора с шагом.

Нужно
применить леса или бустинг (либо ваше
решение)



4) class StatCalculator (подсчет
статистических параметров насколько
крут наш алго!)

Расширить этот класс
считать Sharp ratio, Equity вообщем посмотреть
что учитывают настоящие кванты (например
на скринах Wealthlab, TSLAB) в расчетах. Сейчас
есть расчет PF и DD.



5) class ResultVisualizer
(рисовалка купили - продали)

Этот
класс рисует сделки (покупки продажи)
на тестовой и тренировочной выборке.
Изменения на ваше усмотрение.



На
выходе алгоритм должен придумать схему
продажи/покупки с использованием данных
и признаков из датасета + с оптимизацией
по параметрам из стат калькулятора.




То есть найти такие условия
покупки продажи при которой будут
максимальные PF, Equity.


Code:

https://www.dropbox.com/scl/fi/ufb3ilubr65qi5aptyh...



Data:

https://www.dropbox.com/scl/fi/mo6184ib9turzok18rj...