Постов с тегом "Торговые роботы": 6049

Торговые роботы


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

В этом разделе вы найдете самые актуальные записи по теме торговые роботы.

Нейросеть выбрала лучшие акции

На Санкт-Петербужской бирже, по мнению нейросети Investington, сейчас актуальны следующие позиции:

VRTV, оптимальная цена для покупки — 86.73$. Цель — 93.1687$. Вероятность роста 81.1%
NVRO, оптимальная цена для покупки — 64.29$. Цель — 69.6074$. Вероятность роста 74.7%
BOOT, оптимальная цена для покупки — 83.6$. Цель — 88.7677$. Вероятность роста 73.2%


Результаты поста от 2022-01-10

ENPH, купили по 140.91$. Продали 11 января по 151.093$. Итоговый процент +7.23%
SKM, купили по 26.23$. Продали 7 февраля по 25.84$. Итоговый процент -1.49%
GTLS, купили по 135.71$. Продали 7 февраля по 116.54$. Итоговый процент -14.13%

Итого: из 3 сигналов 1 оказались верными.


Что это такое? || Отчет

Range график из тиковых данных

Написал скрипт, который переделывает тиковые данные в range заданной размерности.

Но есть нюанс, когда идет быстрый рынок, некоторые бары могут иметь одинаковое время открытия, что приводит к некоторому несоответствию range баров.

Range график из тиковых данных
<code>"""
Скрипт из файлов с тиковыми данными делает файл с рандже барами
"""
import re
from datetime import datetime
from pathlib import *

import pandas as pd


def zero_hour(cell):
    """ Функция преобразует время (с финама приходят часы без нулей (с марта 2021), которые pandas не воспринимает)"""
    cell = f'{int(cell)}'
    tmp_time = datetime.strptime(cell, "%H%M%S")
    return tmp_time.strftime("%H%M%S")


def run(tick_files: list[Path], razmer: int, target_dir: Path):

    for ind_file, tick_file in enumerate(tick_files, start=1):  # Итерация по тиковым файлам

        list_split = re.split('_', tick_file.name, maxsplit=0)  # Разделение имени файла по '_'
        tiker = list_split[0]  # Получение тикера из имени файла
        date_quote_file = re.findall(r'\d+', str(tick_file))  # Получение цифр из пути к файлу
        target_name = f'{tiker}_range{razmer}_{date_quote_file[0]}.txt'  # Создание имени новому файлу
        target_file_range: Path = Path(target_dir / target_name)  # Составление пути к новому файлу

        if Path.is_file(target_file_range):
            print(f'Файл уже существует {target_file_range}')
            continue
        else:
            df_ticks_file: pd = pd.read_csv(tick_file, delimiter=',')  # Считываем тиковые данные в DF

            # Создание DF под рандже бары одного тикового файла
            df: pd = pd.DataFrame(columns='<DATE> <TIME> <OPEN> <HIGH> <LOW> <CLOSE> <VOL>'.split(' '))

            for tick in df_ticks_file.itertuples():  # Итерация по строкам тикового DF
                print('\rCompleted file: {:.2f}%. Completed files: {:.2f}%'.format(
                    tick[0] * 100 / len(df_ticks_file.index),
                    ind_file * 100 / len(tick_files)
                    ),
                    end=''
                )

                if tick[0] == 0:
                    # Добавление строки в DF с рандже барами
                    df.loc[len(df.index)] = [int(tick[1]), int(tick[2]), tick[3], tick[3], tick[3], tick[3], tick[4]]
                    continue

                # Если бар сформирован по размеру возрастающий бар
                if df.loc[len(df.index) - 1, '<LOW>'] + razmer < tick[3]:
                    df.loc[len(df.index) - 1, '<CLOSE>'] = df.loc[len(df.index) - 1, '<LOW>'] + razmer
                    df.loc[len(df.index) - 1, '<HIGH>'] = df.loc[len(df.index) - 1, '<CLOSE>']
                    # Добавление строки в DF с дельта барами
                    df.loc[len(df.index)] = [int(tick[1]), int(tick[2]), tick[3], tick[3], tick[3], tick[3], tick[4]]
                    continue
                    # break

                # Если бар сформирован по размеру падающий бар
                if df.loc[len(df) - 1, '<HIGH>'] - razmer > tick[3]:
                    df.loc[len(df) - 1, '<CLOSE>'] = df.loc[len(df) - 1, '<HIGH>'] - razmer
                    df.loc[len(df) - 1, '<LOW>'] = df.loc[len(df) - 1, '<CLOSE>']
                    # Добавление строки в DF с дельта барами
                    df.loc[len(df.index)] = [int(tick[1]), int(tick[2]), tick[3], tick[3], tick[3], tick[3], tick[4]]
                    continue
                    # break

                # Заполняем(изменяем) последнюю строку DF с рандже баром --------------------------------------
                # Записываем <CLOSE> --------------------------------------------------------------------------
                df.loc[len(df.index) - 1, '<CLOSE>'] = tick[3]  # Записываем последнюю цену как цену close бара

                # Записываем <HIGH> ---------------------------------------------------------------------------
                if float(tick[3]) > df.loc[len(df) - 1, '<HIGH>']:  # Если цена последнего тика больше чем high
                    df.loc[len(df.index) - 1, '<HIGH>'] = tick[3]  # Записываем цену последнего тика как high

                # Записываем <LOW> ----------------------------------------------------------------------------
                if float(tick[3]) < df.loc[len(df.index) - 1, '<LOW>']:
                    df.loc[len(df.index) - 1, '<LOW>'] = tick[3]  # Записываем цену последней сделки как low

                # Записываем <VOL> ----------------------------------------------------------------------------
                df.loc[len(df.index) - 1, '<VOL>'] += tick[4]  # Увеличиваем объем

            # Изменение типа колонок
            df[['<DATE>', '<TIME>', '<VOL>']] = df[['<DATE>', '<TIME>', '<VOL>']].astype(int)
            # Преобразуем столбец <TIME>, где нужно добавив 0 перед часом
            df['<TIME>'] = df.apply(lambda x: zero_hour(x['<TIME>']), axis=1)

            df.to_csv(target_file_range, index=False)  # Запись в файл для одного тикового файла

        # break


if __name__ == "__main__":
    razmer: int = 250
    ticker: str = 'RTS'
    year_tick: str = '2022'

    source_dir_tick: Path = Path(f'c:/data_quote/data_finam_{ticker}_tick')  # Путь к ресурсному каталогу
    target_dir: Path = Path(f'c:/data_quote/data_prepare_{ticker}_range')  # Путь к целевому каталогу

    # Создание списка путей к файлам с тиками
    tick_files: list[Path] = list(source_dir_tick.glob(f'*{year_tick}*.csv'))

    run(tick_files, razmer, target_dir)
</code>

Автоследование EasyMani закрылось. Эквити 2014-2022. Итоги.

По ссылке mfd.ru/tradingsignals/strategies/?sort=profitTotal&all=true пишут что с марта, сделки/эквити перестали отображаться уже с начала февраля.

Почему не взлетело? Ребята очень старались в свое время, но формат копитрейдинга без поддержки брокера не популярен. Большинство клиентов не готовы становиться сисадминами — самому настраивать впс, софт, синхронизацию — это почти что самому стать алготрейдером, причем в самой неинтересной части. Интересно что выкатит (если выкатит) TSlab. И регулятор дополнительно подгадил, с обязательным статусом инвестиционного советника. Брокера (финам-комон) это обходят, пользуясь своим статусом профучастника.

С марта 2014 года я транслировал туда реальные сделки из Квика по одному из счетов, используя это как удобный способ посмотреть эквити и конечно показать рыбов ©. Стратегии от нескольких часов, емкость… большая. Подписчики на чистом автоследовании у меня тоже были, низкая капитализация&лудомания. Нормальные перешли на другой формат.
Автоследование EasyMani закрылось. Эквити 2014-2022. Итоги.

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

Торгуем по динамической лесенке.

Депозит 1.470.000 рублей.

Лимит на 1 акцию 210.000 рублей. Лимит на 1 сделку 30.000 рублей.

Текущая сетка динамической лесенки.

 Торгуем по динамической лесенке.
Текущие позиции по акциям.

Газпром Long30.12 341,0 240 акций.

ГМКН Long30.12 22650 3 акции.

Лукойл Long05.01 6750 8 акций.

Новатэк Long12.01 1800 32 акции. Long 18.01 1600 19 акций.

Полюс Long30.12 12800 8 акций. Long17.01 11400 2 акции.

Роснефть Long30.12 595,0 100 акций.

Сбербанк Long30.12 294 270 акций. Long14.01 255 110 акций.

Текущая лесенка по акциям.

 Торгуем по динамической лесенке.



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

-18,4% Четвертый год алготрейдинга. Бесценный опыт, который невозможно получить через советы.

Всех приветствую!

Подвожу итоги за 2021 год, хоть и с опозданием. Решил не нарушать традицию. Пишу для себя, для анализа, рефлексии, разложить и сформулировать мысли — очень полезно. Итог -18,4%, счет проседал внутри года на 50,2%. От февральского максимума в +16,5% к минимуму октября -33,7%.
Торговля ведется трендовыми алгоритмами на валютном фьючерсе USD/RUB (Si).
-18,4% Четвертый год алготрейдинга. Бесценный опыт, который невозможно получить через советы.

1 квартал +7,9%
2 квартал -17,9%
3 квартал -14,3%
4 квартал +5,9%

Общий доход с учетом реинвестирования за 4 года составил 384%. Статистика по счету в Финаме теперь доступна только из личного кабинета. Ссылки на публичные счета отключили, неудобно.
-18,4% Четвертый год алготрейдинга. Бесценный опыт, который невозможно получить через советы.



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

Жив ли трейдинг?

    • 06 февраля 2022, 15:43
    • |
    • 3Qu
  • Еще
Трейдинг скорее мертв чем жив. ©
Объясняю.
До 14 года я зарабатывал 30 п со сделки на МОЕХ, и это было 30 руб или 1 бакс. И это было хорошо.
До 21 года я зарабатывал 30 п со сделки, и это было 30 руб, но уже 0.5 бакса. И это было, в общем, уже не очень, но еще терпимо.
Сейчас я зарабатываю 30 п со сделки, и это по прежнему все те же 30 руб, но уже только 39 центов.
Еще немного и трейдинг потеряет всякий смысл.

PS кроме того, как очень правильно заметили в комментариях, сейчас и бакс уже не тот.
Стало быть, это уже даже не 39 центов, а сильно меньше, по сравнению с центами 2014 года, взятыми за начало отсчета.
Т.е., топик даже оптимистичней чем реальность.)

Кнопка "БАБЛО": январь '22 -$2880 (-14%) на контракт. Депо $20 000

Кнопка "БАБЛО": январь '22 -$2880 (-14%) на контракт. Депо $20 000

  ЧТО ПРОИСХОДИТ: занимаясь трейдингом с 2012 года постепенно дошел до алгоритмической торговли портфелей цикличных торговых систем. Работаю вместе с квалифицированным программистом. В 2020 году запустили одиночную торговую стратегию на $25 000 и забрали 39% годовых. В мае 2021 года запустили портфель торговых систем, который и торгуем сейчас. Цель — постепенное доведение управления до сложных глубоко-диверсифицированных портфелей торговых систем способных давать доходность больше 100% годовых с управляемыми рисками. Выше Equity моей публичной торговли, которую веду с 2013 года.

ОТЧЕТ  

1. Портфель поддержки — начинает год сразу с большого убытка (хорошо хоть перед этим в декабре заработал 8%), закрывает в декабре 3 сделки и теряет — $2656 на контракт. Торговля дублируется на счетах общим депо ~$40 000



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

NASDAQ Cигналы (Интрадей)

Результаты рекомендации модели для торгов 04.02.2022 smart-lab.ru/blog/tradesignals/764069.php

NASDAQ Cигналы (Интрадей)
Profit — величина максимального изменения от рекомендованной цены

Сигналы на сессию 07.02.2022

NASDAQ signals to BUY

Symbol: HALO
Recommended price: 33.7
Signal strength: 2 (BUY)
Prediction date: 04/02/2022
Issuer: Halozyme Therapeutics, Inc.
SL: -1% TP: 5%

Symbol: ALKS
Recommended price: 23.71
Signal strength: 1 (BUY)
Prediction date: 04/02/2022
Issuer: Alkermes Inc. plc
SL: -1% TP: 5%

Symbol: SRDX
Recommended price: 41.04
Signal strength: 1 (BUY)
Prediction date: 04/02/2022
Issuer: Surmodics, Inc. Common Stock
SL: -1% TP: 5%




NASDAQ signals to SELL

Symbol: TWKS
Recommended price: 22.91
Signal strength: -7 (SELL)
Prediction date: 04/02/2022
Issuer: Thoughtworks Holding, Inc. Common Stock
SL: -1% TP: 5%

Symbol: BBI
Recommended price: 0.28
Signal strength: -1 (SELL)
Prediction date: 04/02/2022
Issuer: Brickell Biotech, Inc. Common Stock
SL: -1.4% TP: 5%

Symbol: SWKS
Recommended price: 135.1
Signal strength: -1 (SELL)
Prediction date: 04/02/2022
Issuer: Skyworks Solutions Inc
SL: -1.4% TP: 5%

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

Взрослые программисты тоже играют в компьютерные игры.

Наверно не только меня одного в профессию программиста привела тяга к компьютерным играм. Все эти новые вселенные, стрелялки, полеты на немыслимых самолетах. Всегда хочется что-то узнать большее об управляемом персонаже, защитить его, правильно им управлять. Возможно даже вырастить его в немыслимого супергероя. С годами игры меняются. Остается главное – страсть к чему-то новому исследовательскому. Открутить колесико от одной машинки и прикрутить его к другой. А вдруг!

 Рис1.
Взрослые программисты тоже играют в компьютерные игры.

Самое главное в этом процессе играть самому. По своим правилам и своими игрушками. Пусть даже и не выиграть. Но самое главное самому и по своим правилам. Руководить собственным маленьким, подчиняющимся только тебе «терминатором». Начнем с выбора персонажа. Пусть это буду акции российских и иностранных компаний доступные обычному человеку на Московской бирже через терминал QUIK. Спасибо разработчикам терминала. Они предоставляют механизмы экспорта/импорта информации во внешние системы анализа. Платформа для создания бизнес-приложений логично вписывается в эту нишу. При этом концепция «low code» позволяет в одиночку создать и поддерживать свои правила игры на своем поле. Даже человек, который ранее никогда не программировал может в приемлемый срок освоить встроенный в 1С Предприятие язык программирования и начать управлять небольшой торговой системой, закладывая в нее свою логику.



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

Торговая система

Ну, первое.
Заголовки общей ленты Смарта выглядят так:

12:03 Ты в Баню? — Иван Иванов
12.05 Нет я в Баню — Сергей Сэр Геев
12:07 Аааа, я думал, что ты в Баню — Иван Иванов

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

В чем тут смысл?
Заработайте сначала себе денег.
Потом о вас и так узнают как о очем богатом человеке.

Не в коем случае не болтайте о них, не болтайте много.
Чем больше вы говорите, тем всем очевиднее, что у вас ничего нет.

Главное не пытайтесь ее продать. Ведь любая система продается только с автором.
Иначе она не работает.

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

Ну и так далее.

Вообще этот текст для покупателей систем.


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