Как программисту заработать на фондовом рынке, думая только о коде

bce432d2d3804dd491c72d9d2754272e.pngВ нашем блоге мы уже публиковали истории о том, как программисты зарабатывали на фондовом рынке, применяя свои знания новых технологий (например, машинного обучения). В комментариях к подобным материалам некоторые пользователи Хабра говорили о том, что их смущает необходимость рисковать при работе на бирже своими собственными деньгами.

Сегодня мы подробнее расскажем о том, как можно заработать на фондовом рынке, занимаясь только программированием, и не вкладывая собственных средств. Сделать это можно участвуя в специальном конкурсе разработчиков от проекта 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;

///

/// Максимальное значение за период. /// [DisplayName («Highest»)] [DescriptionLoc (LocalizedStrings.Str733Key)] public class Highest: LengthIndicator { /// /// Создать . /// public Highest () { Length = 5; }

///

/// Обработать входное значение. /// /// Входное значение. /// Результирующее значение. protected override IIndicatorValue OnProcess (IIndicatorValue input) { var newValue = input.GetValue();

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, не участвуют в конкурсе.

Ссылки в помощь Почитать больше об алгоритмической торговле и написании торговых роботов можно по следующим ссылкам:

© Habrahabr.ru