当前位置:首页 > 经验 >

怎么自动测试交易系统(自动交易系统教程)

来源:原点资讯(www.yd166.com)时间:2022-10-31 23:34:43作者:YD166手机阅读>>

d 的值始终介于 0 和 4 之间。如果 d=2,则没有自相关。如果 d 远小于 2,则存在正自相关;但是,如果它低于 1,则错误中的相似性比合理的要多。d 大于 2 越远,误差项中出现的负自相关越多。正自相关或序列相关意味着正误差因素很有可能跟随另一个正误差因素。

04 t统计量

t检验(也称为学生 t 检验)是W. S. Gossett为了观测酿酒质量提出来的,用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著,适用于样本容量较小(n<30),而总体标准差未知的正态分布。当分布中使用较少的价格或交易时,我们可以预期曲线的形状会更加多变。例如,它可能被分散开,这样分布的峰值会更低,而尾部会更高。t 检验根据其自由度 (df) 计算,即 n – 1,其中 n 是样本大小,即分布中使用的价格数量。

怎么自动测试交易系统,自动交易系统教程(21)

样本中的数据越多,结果就越可靠。随着样本量 n 的增加,t 的值接近尾部区域的标准正态值。

在测试交易系统时,自由度可以是策略产生的交易数量。当交易很少时,结果可能无法代表您使用更长的交易历史将获得的结果。在测试策略时,会发现交易数量与策略中使用的参数或变量数量之间存在类似的关系。使用的变量越多,需要进行的交易就越多,才能以可接受的置信水平创造预期。

t检验分为单样本检验、相关配对检验和独立双样本检验。

  • 单样本t检验主要检验单个样本的平均值是否等于目标值,如某只个股在某段时间周期内的平均收益率是否等于市场平均收益率(如上证综指)。
  • 相关配对t检验是检验相关或配对观测之差的平均值是否等于目标值,如为了检测业绩增长公告是否能带来超额收益,对发布业绩增长公告的公司公告前N日(如N=3)和公告后N日的收益率进行比较,检验是否存在显著差异。
  • 独立双样本检验是检验两个独立样本的平均值之差是否等于目标值,如检验某个交易策略在不同的交易期间内是否表现一致。

  • 其中,和分别是价格在期间1和期间2的平均值,和分别是价格在期间1和期间2的标准差,和分别是期间1和期间2的样本数量(观察值)。

PART 02 Python代码实现

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import tushare as ts sns.set_style("darkgrid") from pylab import mpl mpl.rcParams['font.sans-serif']=['SimHei'] mpl.rcParams['axes.unicode_minus']=False

### 计算标准正态分布0-1之间的概率 def normal_pdf(x, mu=0, sigma=1): sqrt_two_pi = np.sqrt(2 * np.pi) pdf=(np.exp(-(x-mu) ** 2 / 2 / sigma ** 2) / (sqrt_two_pi * sigma)) return pdf mu = 0 # 均值为0 sigma = 1 # 标准差为1 #用统计模拟绘制正态分布的直方图 plt.figure(figsize=(12,6)) sample = np.random.normal(mu, sigma, size=10000) plt.hist(sample, bins=100, alpha=0.7, density=True) print(pd.Series(sample).describe()) #根据正态分布的公式绘制PDF曲线 x = np.linspace(-4, 4, 300) y = normal_pdf(x, mu, sigma) plt.plot(x,y, color='orange', lw=3,label='$\mu=0,\sigma=1$') plt.legend() plt.show()

count 10000.000000 mean -0.019925 std 0.995619 min -3.453845 25% -0.697581 50% -0.009903 75% 0.660925 max 4.106088 dtype: float64

怎么自动测试交易系统,自动交易系统教程(22)

下面以全球指数交易数据为分析样本,使用Python进行描述性统计分析。使用efinance包获取全球指数数据,efinance相当于对东方财富网数据的爬虫。

#使用pip install efinance安装efinance包用于获取交易数据 import efinance as ef from tqdm import tqdm global_indexs=['道琼斯','标普500','NDX','上证指数','深证成指','沪深300', '创业板指','上证50','中证500','恒生指数','英国富时','法国CAC40','德国DAX', '日经225','韩国KOSPI','澳大利亚标普200','印度孟买SENSEX','俄罗斯RTS','加拿大S&P', '台湾加权','美元指数','路透CRB商品指数'] #NDX为纳斯达克指数 index_data=pd.DataFrame() for index in tqdm(global_indexs): index_data[index]=ef.stock.get_quote_history(index).set_index('日期')['收盘'] index_data.rename(columns={'NDX':'纳斯达克'},inplace=True)

100%|██████████████████████████████████████████████████████████████████████████████████| 22/22 [00:10<00:00, 2.11it/s]

sns.pairplot(index_data[['上证指数','深证成指','沪深300','创业板指','上证50','中证500']]);

怎么自动测试交易系统,自动交易系统教程(23)

从配对相关和个体分布图来看,国内各大指数存在较强的相关性,分布呈现“左偏(负偏),长右尾”的特征,即大部分时间处于较低点位数(收益低),短时间处于高点位数(异常高收益),这也反映了波动程度可能很大。

sns.pairplot(index_data[['上证指数','标普500','法国CAC40','德国DAX','日经225']]);

怎么自动测试交易系统,自动交易系统教程(24)

栏目热文

程序化交易使用说明书pdf(程序化交易实战pdf下载)

程序化交易使用说明书pdf(程序化交易实战pdf下载)

信息流广告无时无刻不在我们身边,广告即内容,内容即广告。本文作者对信息流广告进行了总结分析,一起来学习一下吧。信息流广告...

2022-10-31 23:41:24查看全文 >>

自编程序交易评测(如何自己制作自动交易程序)

自编程序交易评测(如何自己制作自动交易程序)

(续)自编的自动交易软件,从自动交易软件构思形成到框架搭建完成,经过近两个月半不断的实盘买入非交易时间卖出测试和部分实盘...

2022-10-31 23:15:42查看全文 >>

一套实用的外汇交易系统(外汇最简单傻瓜式交易系统)

一套实用的外汇交易系统(外汇最简单傻瓜式交易系统)

11个大外汇入门交易技巧有哪些?  外汇入门必学11个外汇交易技巧。外汇交易又叫外汇保证金交易,是一种比股市投资更优越的...

2022-10-31 23:11:14查看全文 >>

做一套程序化交易系统(程序化交易系统设计方法)

做一套程序化交易系统(程序化交易系统设计方法)

每一个优秀交易员注定是孤独的。他的交易系统,是对交易与市场的理解、对自身认识的综合体现,也体现了理念与信仰,还有性格。这...

2022-10-31 23:11:50查看全文 >>

程序化交易如何嵌入交易系统(怎么实现自动化交易)

程序化交易如何嵌入交易系统(怎么实现自动化交易)

从小白开始学习程序化交易:如何编写和加载交易公式?每当做交易身心疲惫的时候,你有没有想过要把自己的交易方法写给电脑,让电...

2022-10-31 22:53:52查看全文 >>

程序化交易软件开发(通达信二次开发接口)

程序化交易软件开发(通达信二次开发接口)

从小白开始,如何实现期货交易程序化?你为什么想做程序化交易?也许因为你是个懒人,也许因为你是个内心却不甘平庸的人,也许你...

2022-10-31 22:57:17查看全文 >>

怎么开发程序化交易软件(程序化交易源码)

怎么开发程序化交易软件(程序化交易源码)

币圈没有新鲜事,大家好,我是区块链的小学生。我经常会遇到小伙伴发来这样的问题,自己忙,不会编程,也没时间学,如何才能实现...

2022-10-31 23:34:40查看全文 >>

交易系统测试方法(如何用指令做一个交易系统)

交易系统测试方法(如何用指令做一个交易系统)

今日交易系统测试正常,按规则执行交易。好累1,2年内,应该会离职。前段时间回头看过去,我已经上了12年班了,好多人都开始...

2022-10-31 23:16:42查看全文 >>

程序化交易系统搭建(如何搭建交易系统框架)

程序化交易系统搭建(如何搭建交易系统框架)

第一步,以时间之窗+信号+固定止损止盈,构建一套可靠的期货与股票交易系统!第二步,建立指令中心,信号执行下单中心,监督止...

2022-10-31 22:58:08查看全文 >>

怎么编程和测试交易系统(测试一种交易系统要多久)

怎么编程和测试交易系统(测试一种交易系统要多久)

交易员们都知道要想提出有可持续优势的系统有多难。许多人可以通过看图表并确定完全适合该图表的交易策略。然而,当他们在一个较...

2022-10-31 22:57:56查看全文 >>

文档排行