Постов с тегом "Программирование": 328

Программирование


Полезная книга для программистов

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

Описаны все подробности коммерческой разработки.

Книга большая под 900 стр.

Полезная книга для программистов

Ссылка на книгу
fktpm.ru/file/84-sovershennyy-kod.pdf


Шаги моего ребенка в хай-теке


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

Автоматизация - ключ к успешному инвестированию. Python и SQL приходят на помощь!

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

И одна из самых трудоемких частей работы — это сбор данных, их систематизация и подготовка для работы. Конечно, очень хочется как можно больше автоматизировать данную работу, чтобы тратить на это как можно меньше времени.

Я уже рассказывал, что на самоизоляции осваивал Python, и демонстрировал, что мне удалось написать профессиональный инвестиционный калькулятор, который рассчитывает различные финансовые показатели и сравнивает между собой два актива. Кстати, в последней его версии я добавил возможность учета комиссий и налогов. Это позволяет намного легче сравнивать NET результаты для инвестора, особенно если в стратегии по ДУ есть вознаграждение управляющего за успех, а в ПИФах комиссия за приобретение и погашение паев.

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



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

С++ Библиотека для сервера и клиента 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 — это в будущем.

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

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