Нужен советник по простой системе на основе объема (по акциям)

Tarea técnica

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

0.     Импортировать в MT5 подгруженные ранее рыночные данные по 70 акциям с 2020 г. (данные уже приведены к нужному формату).

1. По списку тикеров  посчитать средний объем (дневной) за последние 2 месяца, оставить в списке 80% с наибольшим средним объемом. Таким образом сформировать базу для дальнейших расчетов. Это делается окном и пересчитывается ежедневно.

2. По базе: ежедневно считать доходности с 23:49 предыдущего дня до 16:00 текущего дня по всей базе. 

3. По базе: ежедневно считать направленный объем с 23:49 предыдущего дня до 16:00 текущего дня по всей базе по следующей формуле: 

# directional_pressure = sum( sign(return) * abs(return) * real_volume )  

4. Далее для попадания (покупки) в портфель бумаги должно одновременно сложиться 2 условия: доходность > 2%* и посчитанный объем (directional_pressure ) > 10 000* . Покупки осуществляются сразу после расчетов. Продажи осуществляются в 10 утра следующего за покупками дня.

5. Максимальное количество отобранных бумаг в портфеле - 5. Веса распределяются равномерно. Сумма весов = 1 (100% от капитала). Если в каком-то дне нет бумаг удовлетворяющих условиям из п. 4 - ничего не происходит. На следующий день расчеты повторяются.

6.     Если отобранных бумаг больше 5 приоритет отдается доходности (на python): df_selected = df_result[(df_result["Return_%"] > 2) & (df_result["directional_pressure "] > 10000)].sort_values(by="Return_%", ascending=False).head(5)

С * это параметры для оптимизации.

По итогу выполненных работ должен быть приложен исходный код.


Han respondido

1
Desarrollador 1
Evaluación
(395)
Proyectos
556
41%
Arbitraje
30
57% / 3%
Caducado
57
10%
Libre
Ha publicado: 11 ejemplos
2
Desarrollador 2
Evaluación
(44)
Proyectos
74
20%
Arbitraje
1
0% / 100%
Caducado
0
Libre
3
Desarrollador 3
Evaluación
(6)
Proyectos
11
18%
Arbitraje
1
0% / 100%
Caducado
1
9%
Libre
4
Desarrollador 4
Evaluación
(39)
Proyectos
52
19%
Arbitraje
15
27% / 67%
Caducado
8
15%
Libre
Ha publicado: 1 ejemplo
5
Desarrollador 5
Evaluación
(72)
Proyectos
147
67%
Arbitraje
21
10% / 71%
Caducado
44
30%
Libre
6
Desarrollador 6
Evaluación
(1)
Proyectos
2
50%
Arbitraje
3
0% / 33%
Caducado
0
Libre
7
Desarrollador 7
Evaluación
(174)
Proyectos
188
32%
Arbitraje
5
60% / 20%
Caducado
3
2%
Libre
Ha publicado: 3 ejemplos
8
Desarrollador 8
Evaluación
(619)
Proyectos
722
33%
Arbitraje
46
48% / 41%
Caducado
14
2%
Trabajando
9
Desarrollador 9
Evaluación
(298)
Proyectos
478
40%
Arbitraje
105
40% / 24%
Caducado
82
17%
Trabajando
Ha publicado: 2 ejemplos
10
Desarrollador 10
Evaluación
(3)
Proyectos
1
100%
Arbitraje
3
0% / 100%
Caducado
0
Libre

Información sobre el proyecto

Presupuesto
100+ USD
Plazo límite de ejecución
de 2 a 10 día(s)