Як програмісту заробити на фондовому ринку, думаючи тільки про коді



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

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

Посилання в допомогу
Почитати більше про алгоритмічної торгівлі та написанні торгових роботів можна за наступними посиланнями:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.