Hi,介绍了api的各种函数後,相信读者一定很好奇,有了这些资料之後要怎麽回测啊?
毕竟在开始实单做程序交易之前,交易策略到底会赚钱还是赔钱,没有回测真的不敢用啊!
目前主流的量化交易方式分成两类:
专业软件以MultiCharts市占率最高,而外汇保证金的部分则有很多人使用MT5。
不过今天要介绍的是自行开发的部分,目前已有很多回测框架,让大家不用从0开始,像是:
今天要介绍的是一款图画起来很漂亮的回测框架 - Backtesting。
首先用 pip install backtesting
安装,
安装完後历史数据的部分可以从我们的Shioaji抓,
标的我们就先以2330台积电为例,输入完起讫日期後,把分K资料转为日K并放到df里。
import shioaji as sj
import pandas as pd
api = sj.Shioaji(backend='https', simulation=False)
#抓取2330台积电2020年到2021年9月的K线资料
kbars =api.kbars(contract=api.Contracts.Stocks['2330'], start = '2020-01-01', end = '2021-09-22' )
#转成dataframe
df = pd.DataFrame({**kbars})
df.ts = pd.to_datetime(df.ts)
#分K转成日K
df.set_index(df.ts,inplace=True)
df = df.resample('D').agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last', 'Volume':'sum'})
df.dropna(inplace=True)
df.head(5)
Out:
| ts | Open | High | Low | Close | Volume |
|:--------------------|-------:|-------:|------:|--------:|---------:|
| 2020-01-02 00:00:00 | 332.5 | 339 | 332.5 | 339 | 31656 |
| 2020-01-03 00:00:00 | 344 | 345 | 335.5 | 339.5 | 41711 |
| 2020-01-06 00:00:00 | 333 | 334.5 | 332 | 332 | 44900 |
| 2020-01-07 00:00:00 | 332.5 | 333 | 326.5 | 329.5 | 50762 |
| 2020-01-08 00:00:00 | 325 | 333 | 325 | 329.5 | 37426 |
处理完资料後就可以来介绍backtesting拉,大家准备好了吗?
下面先放一张图给大家闻香一下,
图的上方可以显示出的净值曲线变化、区间内每笔交易赚赔及进出场、
接下来几篇会和大家介绍怎麽用backtesting来实做交易策略!
题目 An array is monotonic if it is either monotone ...
目前在做学校实验,用analyzer收集wifi讯号时都会出现beacon的干扰,请问该如何关掉他或...
在 CLOUDWAYS❐ 中,提供了5大云端主机供应商的方案☞ linode 、 VULTR 、 D...
React是由component所组成,Component可以将 UI 拆分成独立且可重复使用的程序...
-证据大图 行政调查是内部调查。 调查(Investigation) 调查:调查或研究,检查与某事...