В нашем блоге мы уже публиковали истории о том, как программисты зарабатывали на фондовом рынке, применяя свои знания новых технологий (например, машинного обучения). В комментариях к подобным материалам некоторые пользователи Хабра говорили о том, что их смущает необходимость рисковать при работе на бирже своими собственными деньгами.
Сегодня мы подробнее расскажем о том, как можно заработать на фондовом рынке, занимаясь только программированием, и не вкладывая собственных средств. Сделать это можно участвуя в специальном конкурсе разработчиков от проекта StockSharp и ITinvest.
Что нужно делать
StockSharp — это open source-платформа для онлайн-трейдинга. Команда проекта совместно с ITinvest приглашают профессиональных разработчиков этим летом посоревноваться друг с другом, разрабатывая новые функции и дополнения к этому продукту.
Условия предельно просты: за каждое изменение (pull request), примененное в репозиторий StockSharp на GitHub, его автору будет выплачиваться денежное вознаграждение. Изменение может являться новой «фичей» для платформы (например, индикаторы технического анализа, стратегии торговли, новый вид графиков и т.д.) или обновление уже имеющейся функции (да-да, тот самый рефакторинг).
Все изменения будут проходить code review от участников проекта StockSharp и, после успешного прохождения проверки применены к основной ветке.
Используется единый стиль кодирования, совместимый с Microsoft C#, который является основным языком платформы (кстати, в блоге ITInvest было интересное интервью о том, почему C# и C++ популярны на фондовом рынке).
В качестве примера стиля можно использовать код одного из индикаторов технического анализа (Highest):
namespace StockSharp.Algo.Indicators { using System.ComponentModel; using System.Linq; using System; using StockSharp.Localization; /// <summary> /// Максимальное значение за период. /// </summary> [DisplayName("Highest")] [DescriptionLoc(LocalizedStrings.Str733Key)] public class Highest : LengthIndicator<decimal> { /// <summary> /// Создать <see cref="Highest"/>. /// </summary> public Highest() { Length = 5; } /// <summary> /// Обработать входное значение. /// </summary> /// <param name="input">Входное значение.</param> /// <returns>Результирующее значение.</returns> protected override IIndicatorValue OnProcess(IIndicatorValue input) { var newValue = input.GetValue<decimal>(); var lastValue = Buffer.Count == 0 ? newValue : this.GetCurrentValue(); // добавляем новое начало if (input.IsFinal) Buffer.Add(newValue); if (newValue > lastValue) { // Новое значение и есть экстремум lastValue = newValue; } if (Buffer.Count > Length) { var first = Buffer[0]; // удаляем хвостовое значение if (input.IsFinal) Buffer.RemoveAt(0); // удаляется экстремум, для поиска нового значения необходим проход по всему буфферу if (first == lastValue && lastValue != newValue) { // ищем новый экстремум lastValue = Buffer.Aggregate(newValue, (current, t) => Math.Max(t, current)); } } return new DecimalIndicatorValue(this, lastValue); } } }
Также можно изучить код коннектора для работы с биткоинами. Дополнительно мы рекомендуем использовать продукт под названием ReSharper, который помогает контролировать качество создаваемого кода.
Прежде чем приступать непосредственно к написанию кода, рекомендуем написать в чат StockSharp сообщение с пометкой «Конкурс» или в раздел фич и почти-фич на GitHub — это позволит обсудить детали планируемого изменения с разработчиками проекта, что повысит шансы на его успешное применение.
Какова награда
За каждое примененное изменение автор будет получать 9 тысяч рублей. Но это еще не все: конкурс продлится до самого конца лета (он закончится 31 августа). После его завершения посредством голосования в группе «ВКонтакте» подписчики сообщества выберут автора лучшего изменения. Этот разработчик дополнительно получит 50 тысяч рублей.
Disclaimer: Изменения, авторами которых являются члены команды StockSharp, не участвуют в конкурсе.
Ссылки в помощь
Почитать больше об алгоритмической торговле и написании торговых роботов можно по следующим ссылкам:
- Книги и образовательные ресурсы по алгоритмической торговле
- Алгоритмическая торговля на фондовом рынке в России: тренды и технологии
- How-to: Что нужно учитывать при разработке стратегии для торгового робота
- Пошаговое руководство по разработке торговой системы для работы на фондовом рынке
ссылка на оригинал статьи http://habrahabr.ru/post/259517/
Добавить комментарий