Постов с тегом "ПРОГРАММИРОВАНИЕ": 336

ПРОГРАММИРОВАНИЕ


С++ Библиотека для сервера и клиента Named Pipe

В общем, сделал библиотеку simple-named-pipe-server для  работы с именованными каналами. Библиотека содержит сервер и клиент для C++11, а также клиент для MQL4.

С++ Библиотека для сервера и клиента Named Pipe


Очень простая, многопоточная серверная и клиентская библиотека Named Pipe, реализованная с использованием C++11. Проект был проверен на компиляторе mingw 7.3.0 x64. Папка code_blocks содержит примеры для IDE Code::Blocks. Не забудьте в проектах указать свой компилятор, иначе проект не соберется. Сделал либу только сегодня, так что в ней могут быть ошибочки.

Пример сервера
#include <iostream>
#include "named-pipe-server.hpp"

int main() {
    /* в конструкторе сервера можно также задать размер буфера */
    SimpleNamedPipe::NamedPipeServer server("my_server");

    /* обработчики событий */
    server.on_open = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection) {
        std::cout << "open, handle: " << connection->get_handle() << std::endl;
    };
    server.on_message = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection, 
			const std::string &in_message) {
        /* обрабатываем входящие сообщения */
        std::cout << "message " << in_message << ", handle: " << connection->get_handle() << std::endl;
        connection->send("ok");
    };
    server.on_close = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection) {
        std::cout << "close, handle: " << connection->get_handle() << std::endl;
    };
    server.on_error = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection, const std::error_code &ec) {
        std::cout << "error, handle: " << connection->get_handle() << ", what " << ec.value() << std::endl;
    };

    /* запускаем сервер */
    server.start();
    std::system("pause");

    /* останавливаем сервер 
     * (деструктор класса сам выполнит остановку, вызывать не обязательно)
     */
    server.stop();
    std::cout << "close program" << std::endl;
    return EXIT_SUCCESS;
}


( Читать дальше )

Профессиональный инвестиционный калькулятор на Python

Продолжаю сидеть на самоизоляции и учусь программировать на Python. Написал полноценный калькулятор для сравнения двух любых активов.

Считает такие показатели как:

✅ Ожидаемая доходность
✅ Волатильность
✅ Коэффициент Шарпа для каждого актива
✅ Корреляцию
✅ Бету
✅ Альфу
✅ Долю волатильности исследуемого актива в базовом (удобно для сравнения с индексными фондами или индексами, если их брать в качестве базового актива)
✅ Коэффициент Трейнора
✅ Альфу Дженсена

Профессиональный инвестиционный калькулятор на Python

Можно задать период на котором необходимо произвести расчеты. Строить графики для сравнения.

Профессиональный инвестиционный калькулятор на Python



( Читать дальше )

Поделитесь роботом на Луа....плиз...

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

Так как не все далеко тут программисты, то прошу добрых людей выложить полный скрипт робота на луа (который можно сразу загрузить, и он будет работать) с какой-нибудь простой стратегией вроде пересечения средних.
Комментарии к скрипту бы приветствовались.

Думаю, что многие бы сказали спасибо...


  • обсудить на форуме:
  • Quik Lua

Самоизоляция - время, чтобы научиться новому!

Бачеров Алексей. В гостях FinversiaСамоизоляция и мои достижения❗️

Я уже писал, что самоизоляция — это прекрасный повод научиться чему-то новому. В своем посте «Чем я занимаюсь на самоизоляции❓», я достаточно подробно описал как реанимировал кое-какие свои старые компьютеры и ноуты, как я установил на них Linux Mint (с которого сейчас пишу настоящий пост), и как решил начать изучать Python, потому что у меня дома нет Matlab, а мне захотелось провести несколькорасчётов и исследований по измерению волатильности по метрике JPMorgan.

Сейчас я хочу поделиться результатами за чуть больше чем неделю. Я не каждый день занимаюсь изучением, поскольку на неделе ездил на работу, а дома, как всегда есть куча отвлекающих факторов и самым важным из них, конечно, являются дети. Но этот фактор я воспринимаю исключительно положительно 👍 Если суммировать все время которая я потратил на на ткущий момент по изучению питона, то получится около 20 часов.



( Читать дальше )

Использование метода Монте-Карло для создания портфеля

    • 26 апреля 2020, 14:17
    • |
    • Aleks
  • Еще

Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.

В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:

  • Портфель с минимальным уровнем риском при желаемой доходности;
  • Портфель с максимальной доходностью при установленном риске;
  • Портфель с максимальным значением доходности

Для расчета возьмем девять акций, которые рекомендовал торговый робот одного из брокеров на начало января 2020 года и так же он устанавливал по ним оптимальные веса в портфеле: 'ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM' и 'PKI'. Для анализа будет взяты данные по акциям за последние три года.

#Загружаем библиотеки

import pandas as pd
import yfinance as yf
import numpy as np
import matplotlib.pyplot as plt

# Получаем данные по акциям
ticker = ['ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM', 'PKI']

stock = yf.download(ticker,'2017-01-01', '2019-01-31')


( Читать дальше )

Как заработать на случайном блуждании. Часть 5. Послесловие

    • 13 апреля 2020, 21:11
    • |
    • Toddler
  • Еще

Господа!
Искренне надеюсь, что среди вас есть программисты.
Прошу, как говорится, войти в положение… Не всем же дано шарить в искусстве кодирования на каких-то инопланетных языках.

Вопрос: как из тикового архива в формате .csv, взятого, к примеру, с Дукаскопи, сделать такую вещь, по столбцам:

1. День недели (0, 1, 2, 3, 4, 5, 6)

2. Час

3. Минута

4. Секунда

5. Bid

6. Ask

7. Бит (0/1) принадлежности к реальной или псевдокотировке

Заполнены должны быть все строки таблицы посекундно. Т.е. за сутки должно сформироваться ровно 86400 строк таблицы.

Очень важно — если не было в данную секунду реальной котировки, записывается предыдущее значение.
В столбце 7 прописываем бит = 1, если котировка реальная, 0 — если псевдокотировка (т.е. предыдущее значение)

Может, есть уже у кого-нибудь готовый макрос для Excel? Али какая-нибудь программа? 
Если ни у кого ничего нет — скиньте хотя бы алгоритм, как это делать.

В обмен — будущий Грааль. А?

С уважением,
Toddler.

Вопрос программистам знакомым с API от IB

Всем привет, вопрос касается исключительно профессиональных программистов. 
поскольку я программист недо самоучка, да еще и не знающий английского языка, то мне сложно разобраться в документации API брокера IB. 

есть ли среди вас те, кто успешно работает с этим API? 

суть вопроса — получение в реальном времени данных по выбранным опционам, с целью дальнейшей трансляции данных на график в МТ4

с дальнейшей возможностью отправления ордера с этого графика через API — это в будущем.

Заранее благодарю за отклик.

Общий финансовый анализ на Python (Часть 3)

    • 05 апреля 2020, 12:51
    • |
    • Aleks
  • Еще

После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические модели и выполнять статистические тесты. За основу были взяты эта статья и эта статья. Само описание используемой функции на английском доступно по следующей ссылке.

Сначала немного теории:

О линейной регрессии

Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).



( Читать дальше )

Тинькофф API (поделитесь опытом)

Кто работал с Тинькофф API?

Поделитесь, пожалуйста, опытом работы

Какие подводные камни есть? Интересные фичи? И так далее

Планирую использовать его, для алгоритмической торговли на трад.рынке, из всех брокеров, у которых есть доступные API, пока остановился на нем

....все тэги
UPDONW
Новый дизайн