Продолжаем разбираться с тем, как создавать источники для роботов OsEngine. В этом посте обсуждаем интерфейс (класс родитель) для всех источников в проекте.
В обозревателе решения OsEngine это здесь:
Добрый день!
Ищу решение для автоматизированного получения исторических фундаментальных данных по российским компаниям. Нужна история изменения P/E, P/S, ROE, EPS, выручки и других показателей за несколько лет для построения скринера и проведения фундаментального анализа.
Проанализировал два доступных API, но везде есть ограничения:
GetAssetFundamentalsResponse(fundamentals=[
StatisticResponse(asset_uid='40d89385-a03a-4659-bf4e-d3ecba011782',
currency='RUB',
market_capitalization=6878249241240.0,
high_price_last_52_weeks=330.45,
low_price_last_52_weeks=219.2,
average_daily_volume_last_10_days=65639361.43,
average_daily_volume_last_4_weeks=60348494.76,
beta=0.8,
free_float=0.48,
forward_annual_dividend_yield=0.0,
shares_outstanding=21586948000.0,
Рубрика «вопрос-ответ».
«Александр, а при тестировании стратегий на какие данные опираетесь:
— только теханализ
— теханализ + фундаментальный
— теханализ + макроанализ
и так далее?»
При тестировании чисто технически очень сложно, почти невозможно опираться на фундаментальный анализ. Где бы будете брать мультипликаторы 2015 года, а тем более «макроанализ»? Хотя при сильном желании можно и мультипликаторы брать, я знаю случаи, когда брали… И даже имели какие-то валидные результаты. Но по мне — та овчинка не стоит выделки. Голая цена вполне дает пищу для построения систем. Если добавлять к ней то, что вы перечислили, это будет 90% всех усилий ради 10% дополнительного результата. И то не факт, что он будет.
«1. Как по вашему долго еще можно эксплуатировать неэффективность на нашем рынке в паре юань рубль, что в вашей стратегии автоследования?
MA Color — это модифицированная скользящая средняя, которая меняет цвет в зависимости от направления тренда.
Индикатор помогает визуально определять направление тренда, особенно на мелких таймфреймах.
Settings = {
Name = "MA Color",
MAPeriod = 29, -- Период MA
MAType = 0, -- Тип усреднения (0 = SMA, 1 = EMA, 2 = SMMA, 3 = LWMA)
line = {
{
Name = "MA Up", -- Линия роста MA
Color = RGB(0, 255, 0), -- Зелёный (рост)
Type = TYPE_POINT,
Width = 2
},
{
Name = "MA Down", -- Линия падения MA
Color = RGB(255, 0, 0), -- Красный (падение)
Type = TYPE_POINT,
Width = 2
}
}
}
-- Функция расчёта скользящей средней (без рекурсии)
function MovingAverage(index, period, matype)
if index < period then return nil end -- Проверяем, есть ли достаточно дан
Торговля роботами по одному счету. Имеет ли смысл разделять роботов по разным счетам при торговли по одному инструменту?
Основная причина трейдеров почему они так хотят сделать из-за разнонаправленных позиций по роботам, когда один стоит в шорт, а другой в лонг и позиция в терминале нулевая. Если посчитать, то финансовый результат по операциям не изменится, будут роботы на одном счете или на разных.
Пример один робот на разных счетах:
Робот №1:
1. Открытие позиции лонг 10:15, по цене 100, позиция в терминале +1;
2. Закрытие позиции лонг в 11:40, по цене 130, позиция в терминале 0;
3. Финансовый результат 130-100=+30 пунктов;
Робот №2:
1. Открытие позиции шорт 10:50, по цене 120, позиция в терминале -1;
2. Закрытие позиции шорт в 12:10, по цене 140, позиция в терминале 0;
3. Финансовый результат 120-140=-20 пунктов;
Итоговый результат по двум операциям: 30-20=10 пунктов
Пример один робот на одном счете:
Робот 1. открытие позиции лонг 10:15, по цене 100, позиция в терминале +1;
Робот 2. открытие позиции шорт 10:50, по цене 120, позиция в терминале 0;
GitHub продолжает захватывать мир разработки: в 2024 году на платформе уже более 518 миллионов проектов, а вкладов в открытые и публичные репозитории почти 1 миллиард. Но какой язык сейчас правит балом? Спойлер: JavaScript больше не на первом месте.
🐍 Python впервые обошел JavaScript
Да-да, в 2024 году Python стал самым популярным языком на GitHub. Но почему?
👉 Простота и универсальность. Python легко читается, быстро осваивается и используется в машинном обучении, анализе данных, научных вычислениях и даже в веб-разработке. Его любят и новички, и опытные специалисты.
👉 Бум STEM-специалистов. Программисты из сфер Science, Technology, Engineering, Mathematics (наука, технологии, инженерия, математика) активно осваивают Python, увеличивая его долю среди разработчиков.
👉 Взрывной рост AI-проектов. Количество вкладов в проекты по генеративному ИИ увеличилось на 59%, а число таких репозиториев – на 98%! Искусственный интеллект уже не просто тренд – это будущее, которое пишется прямо сейчас.
Продолжаем учиться делать «Источники» для OsEngine. Источники – классы, дающие уникальную функциональность для торговых роботов.
Сегодня поговорим про общую логику работы источников в терминале.
Если смотреть на данные доступные с биржи совсем сверху, то источники являются классами «преобразования» чистых рыночных данных. Источники дают расширенный функционал к тому, что уже есть на рынке, или преобразуют эти данные в совершенно новые формы: