Каждый день я торгую Brent на срочном рынке ММВБ при помощи собственной стратегии, которую переложил на алгоритм. Веду небольшой канал с отчетами и информацией по рынку. Буду рад комментариям и обсуждениям.
Движение наверх продолжается. Информация о том, что Кушинг пустеет, на самом деле очень сильный сигнал просто потому что последний месяц всех пугали именно перезаполнением всех резервуаров. Веронятно, скоро еще появится информация о том, что объем oil on water тоже существенно снизился. С фундаментальной точки зрения негатив сохраняется только в низкой маржинальности переработки, а также в том, что до полного восстановления авиасообщения еще далеко.
Каждый день я торгую Brent на срочном рынке ММВБ при помощи собственной стратегии, которую переложил на алгоритм. Веду небольшой канал с отчетами и информацией по рынку. Буду рад комментариям и обсуждениям.
Вчера.
Экспирация по WTI прошла без сюрпризов. Единственное, что удивило — это огромные объемы Open Interest, они составили 23.3 млн/б. В Кушинге сейчас свободных резервуаров осталось под 13.7 млн/б. Вероятно кто-то сможет получить поставку хорошего объема по дешевым ценам. Бары внутри дня торговлись волатильно, единой направленности у рынка сегодня не было. Алгоритм сегодня обрабатывал сигналы только лонг, и, вероятно, это было ошибкой так как пропустили хорошую шортовую сделку в начале торгового дня. Последняя сделка сегодня закрылась далеко после 21:00, после американского сеттлмента объема на рынке явно не хватало. Результат работы алгоритма за сегодня:
К чему такая истерия вокруг АГ, ну торгует человек вокруг нуля годами.
Каждый день я торгую Brent на срочном рынке ММВБ при помощи собственной стратегии, которую переложил на алгоритм. Веду небольшой канал с отчетами и информацией по рынку. Буду рад комментариям и обсуждениям.
Сегодня экспирация WTI. Многие участники рынка ждут реакции, похожей на предыдущую распродажу. Однако, тех факторов, которые сложились в предыдущий раз, сейчас на рынке не наблюдается. Все чаще начинают появляться сообщения о второй волне эпидемии в Китае, пока не похоже, что это влияет на движение цены. Участники OPEC+ в первой половине мая жестко соблюдают сделку, а спрос на нефтепродукты начинает возвращаться. Сегодня поздно вечером API, посмотрим продолжится ли тренд на снижение запасов.
Утром по рынку прошло сообщение о том, что китайский спрос на нефть почти вернулся к уровню, который наблюдался до кризиса. Затем Новак заявил, что Россия строго соблюдает договоренности по сделке OPEC+. Ну и чтобы зафиксировать бычий настрой, Трамп написал «OIL (ENERGY) IS BACK!!!!». В результате нефть делает почти 7% наверх. Более того, сделки вниз внутри дня были в рамках волатильности, никакого направленного снижения. Результат работы алгоритма за сегодня:
∙BRMO — 0,65$
Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].
В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.
Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:
using System;Но график прибыли разочаровывает
using System.Collections.Generic;
using System.Text;
using System.Drawing;
namespace WealthLab.Strategies
{
public class TurnOnClose: WealthScript {
protected override void Execute() {
for (int bar = 1; bar < Bars.Count; bar++) {
if (Close[bar] > Close[bar-1]) {
if (IsLastPositionActive &&
LastPosition.PositionType != PositionType.Long)
ExitAtClose (bar, LastPosition);
if (! IsLastPositionActive)
BuyAtClose (bar);
} else if (Close[bar] < Close[bar-1]) {
if (IsLastPositionActive &&
LastPosition.PositionType != PositionType.Short)
ExitAtClose (bar, LastPosition);
if (! IsLastPositionActive)
ShortAtClose (bar);
}
} // for (int bar
} // Execute()
} // class TurnOnClose
} // namespace WealthLab.Strategies