• 高频交易建模


    https://zhuanlan.zhihu.com/p/73883325

    目标:让身边对交易不熟悉的朋友快速了解我的工作

    结果:从2017年11月到2019年6月实盘累计收益122.6%, 夏普率6.8,最大回撤13.3%。

    2019年六月到七月月收益10%,夏普4.6,最大回撤5.7%,利润表现如下图:

    2019年六月到七月实盘利润图

    我做的交易系统主要特征有高频(交易频率);量化(信号由数学模型处理);程序化(全自动运行);虚拟货币(交易标的);做市商(订单类型)。



    本文假设你已经有一定的计量经济学,机器学习,统计学,数学基础。

     

    假设我们得到了比特币每分钟的历史价格数据 ,我们可以构造每分钟的价格回报(价格差)- 设这个变量为 x。接下来开始分析 x (只是简单的分析这个时间序列自身的性质, 并没有引入任何策略,可以认为是在做策略前对市场的观察)。

    【基本统计指标】:

    • 平均回报:衡量当我们每分钟买卖一次后的平均利润(忽略交易费等市场摩擦)。

     

    • 回报方差:衡量回报的波动率。

     

    • 自相关系数:衡量趋势(反转)关系是否统计显著,是否具有可持续性。如果统计显著,我们则可以使用此关系来进行交易。

    【建模】

    • 线性模型(预测未来价格

    第一步: 检验时间序列x是不是稳定的(stationary)- 可以用Dick Fuller test(DF)

    时间序列如果不是稳定的,那么用线性模型得出的参数都是虚假的(spurious regression)。解决办法一般通过做差(differencing)- 这也是为什么最开始我们不直接分析价格数据而分析回报数据。因为价格序列一般来说是非稳定的(non-stationary),而回报是稳定的。

     

    第二步:当用统计检验确定x是稳定序列后,开始建模。

    可以用最简单的自相关估计模型(AR esimation)

     

    或者移动平均估计模型(MA)

    或者自相关移动平均模型(ARMA)[1]

     

    第三步:估计完模型参数后可用实盘数据和构建的模型来预测未来价格

    • 线性模型(预测未来价格波动性

    为什么需要预测波动性?主要是价格点预测不可能百分百准确。(如果可以预测出在未来每秒中的价格点,就不需要预测波动性了)还有一点是对于一个做市商来说,需要用未来价格波动这个数据来定价。

    预测波动性的步骤和线性模型与价格点预测基本一致,只是时间序列x不再是价格点,而变成了历史方差:比如ARMA变成

    【非线性模型(以预测价格点为例)】

    三个步骤同线性模型一致。以下主要列出第二部的模型分类。

    1. 泰勒级数展开模型 (将非线性模型用线性模型来估测,再用线性模型来建模),前提是你知道非线性模型的形式是怎样的。

    2. 临界自相关模型(threshold autoregressive - TAR):AR + jump threshold

    3. 马可夫变换模型(Markov switching):加了概率分布的TAR

     

    4. 非参数估计模型(nonparametric estimation)- Kernel function

    5. 机器学习(神经网络等)

  • 相关阅读:
    Palindrome
    Girls' research
    最长回文
    Water Tree
    Alternating Current
    Psychos in a Line
    Feel Good
    Color the Fence
    javaScript内置类Date,Math等
    DOM之兄弟节点
  • 原文地址:https://www.cnblogs.com/dhcn/p/14874871.html
Copyright © 2020-2023  润新知