В процессе загрузки ресурсов... загрузка...

Анализ временных последовательностей и отслеживание данных Tick

Автор:Доброта, Создано: 2019-08-08 10:05:45, Обновлено: 2024-12-19 00:24:00

img

Данные по времени

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

img

Как видно, даты расположены на оси x, а цены - на оси y. В этом случае, длинные последовательные интервалы времени означают, что число дней на оси x различается на 14 дней: обратите внимание на разницу между 7 марта 2005 года и следующей точкой, 31 марта 2005 года, 5 апреля 2005 года и 19 апреля 2005 года.

Тем не менее, когда вы используете данные временных рядов, вы часто видите больше, чем только данные, которые содержат только две строки даты и цены. В большинстве случаев вы будете использовать данные, которые содержат пять строк: цикл данных, цена открытия, максимальная цена, минимальная цена и цена закрытия. Это означает, что если ваш цикл данных настроен на уровень дневного света, то изменения цены в день - высокие, открытые, низкие и закрытые - будут отражаться в данных этой временной последовательности.

Что такое Tick Data?

Данные Tick являются самой полной структурой данных о сделках на биржах. Также это расширенная форма данных о временных последовательностях, упомянутых выше, включающая в себя: цены открытия, максимумы, минимумы, последние цены, объемы сделок, объемы сделок. Если сравнивать данные о сделках с рекой, то Tick - это данные о реке, которая пересекается в какой-то части.

img

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

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

Изобретатель количественно оценил данные Tick

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

img

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

img

Теперь вы знаете основные концепции, необходимые для выполнения этого урока. Эти концепции скоро вернутся, и вы узнаете больше о них позже в этом уроке.

Для тех, кто заинтересован в этом разделе, пожалуйста, напишите:https://www.fmz.com/bbs-topic/1651Узнать больше

Установка рабочей среды

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

  • Развертывание системы хостеров для квантовой платформы изобретателей

Развертывание администраторов осуществляется двумя способами.

Метод A: пользователи сами арендуют или покупают серверы и развертывают их на различных крупных облачных платформах, таких как AWS, Ali Cloud, Digital Ocean и Google Cloud. Преимущество заключается в том, что безопасность как стратегии, так и системы гарантирована.

По поводу этой части, читатели могут ознакомиться:https://www.fmz.com/bbs-topic/2848

Метод B: развертывание общедоступных серверов с использованием квантовой платформы изобретателя. Платформа предлагает развертывание в трех местах: Гонконге, Лондоне и Ханчжоу. Пользователи могут развертывать ее по принципу близости в зависимости от места, где они хотят торговать.

img

Для начала мы будем использовать метод B.

Конкретные действия:登陆FMZ.COMНажмите на "Управление", "Управляющий", на странице "Управляющий", нажмите "Управляющий".

После успешного ввода пароля, развертывается следующий рисунок:

img

  • Концепция роботизированной системы и отношения между управляющими

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

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

img

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

Используйте Python для реализации простой стратегии.

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

  • Основы однолинейной стратегии

Проходя через медленную циклическую гамму, например, 7-дневную гамму, и быструю циклическую гамму, например, 3-дневную гамму. Применив их к одной и той же K-графике, когда медленная циклическая гамму проходит через быструю циклическую гамму, мы называем ее золотым вилком; когда медленная циклическая гамму проходит через быструю циклическую гамму, мы называем ее мертвой вилкой.

Основой для открытия позиций является то, что золотой вилок открывает много позиций, мертвый вилок открывает пустые позиции, и то же самое верно и для типовых позиций.

让我们打开FMZ.COMВ верхнем левом углу выберите язык написания стратегии Python. Ниже приведен код этой стратегии, в каждой строке есть очень подробные комментарии. Эта стратегия не является реальной стратегией, никогда не экспериментируйте с реальными деньгами.

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型

def main(): # 主函数,策略逻辑从这里开始
    STATE_IDLE = -1 # 标记持仓状态变量
    state = STATE_IDLE # 标记当前持仓状态
    initAccount = ext.GetAccount() #这里用到了现货数字货币交易类库(python版),编写策略时记得勾选上,作用是获得账户初始信息
    while True: # 进入循环
        if state == STATE_IDLE : # 这里开始开仓逻辑
            n = ext.Cross(FastPeriod,SlowPeriod) # 这里用到了指标交叉函数,详情请查看https://www.fmz.com/strategy/21104
            if abs(n) >= EnterPeriod : # 如果n大于等于入市观察期,这里的入市观察期是为了防止一开盘就胡乱开仓。
                opAmount = _N(initAccount.Stocks * PositionRatio,3) # 开仓量,关于_N的用法,请查看官方API文档
                Dict = ext.Buy(opAmount) if n > 0 else ext.Sell(opAmount) # 建立一个变量,用于存储开仓状态,并执行开仓操作
                if Dict :  # 查看dict变量的情况,为下面的日志输出做准备
                    opAmount = Dict['amount']
                    state = PD_LONG if n > 0 else PD_SHORT # PD_LONG和PD_SHORT均为全局常量,分别用来表示多头和空头仓位。
                    Log("开仓详情",Dict,"交叉周期",n) # 日志信息
        else: # 这里开始平仓逻辑
            n = ext.Cross(ExitFastPeriod,ExitSlowPeriod) # 指标交叉函数,
            if abs(n) >= ExitPeriod and ((state == PD_LONG and n < 0) or (state == PD_SHORT and n > 0)) : # 如果经过了离市观察期且当前账户状态为持仓状态,进而判断金叉或者死叉
                nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
                Dict2 = ext.Sell(nowAccount.Stocks - initAccount.Stocks) if state == PD_LONG else ext.Buy(initAccount.Stocks - nowAccount.Stocks) # 平仓逻辑,是多头就平多头,是空头就平空头。
                state = STATE_IDLE # 标记平仓后持仓状态。
                nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
                LogProfit(nowAccount.Balance - initAccount.Balance,'钱:',nowAccount.Balance,'币:',nowAccount.Stocks,'平仓详情:',Dict2,'交叉周期:',n) # 日志信息
        Sleep(Interval * 1000) # 循环暂停一秒,防止API访问频率过快导致账户被限制。

  • Рецензия на стратегию однолинейности

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

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

img

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

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


Связанные

Больше