
量化投资
文章平均质量分 78
luoqingyong
这个作者很懒,什么都没留下…
展开
-
利用Backtrader进行期权回测之六:用Scrapy爬取期权合约
在期权回测中我用到了三种数据:期权日数据、ETF日数据和期权合约数据。其中前两种数据的获取方法已经在本系列的第1篇文章中做了说明,这里补充一下怎么获取期权合约数据。期权合约数据是从上交所和深交所下载的。虽然深交所的合约可以手工下载excel文件再转化为CSV之后通过python程序读取。然而,如果需要长期持续地获取数据,最好还是通过爬虫自动爬取。本文演示怎么通过scrapy爬虫获取上交所/深交所的期权合约信息。假定读者对scrapy有一定的了解,知道scrapy的基础用法。对scrapy不了解的读者可以原创 2020-07-30 20:36:26 · 1792 阅读 · 0 评论 -
利用Backtrader进行期权回测之四:Covered Call策略
在前面的三篇文章中,解决了期权数据获取和实现期权策略的一些技术问题。在这篇文章中,我要实现一个完整的covered call期权策略。Covered call是最简单的期权策略之一,就是持有股票并卖出认购期权。这里我用深交所沪深300ETF(159919)和对应的ETF期权来实现。策略所需的数据为了实现covered call策略,我需要三类数据:沪深300ETF的日线数据期权的日线数据期权合约数据其中前面两类都可以从通达信软件里下载,而期权合约数据可以从深交所网站下载。具体的下载和转换的细原创 2020-07-22 22:12:33 · 6364 阅读 · 25 评论 -
利用Backtrader进行期权回测之五:用backtrader_plotting查看回测结果
backtrader_plotting是一个扩展库,用来增强backtrader的绘图功能。它不仅功能更加强大,比如能够把结果分成多个Tab显示,而且显示效果也更加优雅美观。所以推荐大家使用这个,而不是backtrader缺省的plot功能。安装backtrader_plottingbacktrader_plotting可以通过pip进行安装:pip install backtrader_plotting替换backtrader的plot功能backtrader_plotting的使用也很简单。原创 2020-07-22 21:11:06 · 9457 阅读 · 11 评论 -
利用Backtrader进行期权回测之三:导入期权数据
在前面的例子里,我使用的是从雅虎财经获取的股票数据。要回测期权的话,需要导入从通达信获取的数据。如何下载和解析通达信期权数据请参考:利用BackTrader进行期权回测之一:获取期权数据为了加载自己的数据,Backtrader提供了两种常用方法:从CSV文件加载从Pandas DataFrame加载数据从DataFrame加载数据如果我已经有了如下图这样一个dataframe:注意,backtrader要求至少有6列数据,包括:日期,最高价,最低价,开盘价,收盘价,成交量。有个这个dat原创 2020-07-20 21:31:43 · 5002 阅读 · 5 评论 -
利用Backtrader进行期权回测之一:获取期权数据
最近在学习一些期权方面的知识,希望有一个期权的回测环境,方便自己做一些测试。初步做了一些功课之后,打算从通达信软件获得期权数据,并使用backtrader进行回测。编程语言使用python。下载期权数据通达信股票软件有一个“盘后数据下载”的功能,可以下载股票、基金、期权等交易品种的日线和分钟线数据。其它实际使用通达信的券商软件,如招商证券的一户通,也可以使用这个功能下载。下载后的数据放在软件安装目录的vipdoc子目录下。如下图所示:其中期权日线数据在vipdoc\ds\lday目录下,上交所ETF原创 2020-07-19 10:52:32 · 5451 阅读 · 2 评论 -
利用Backtrader进行期权回测之二:Backtrader基础
BackTrader简介Backtrader是一个用python编写的回测和交易框架。功能强大,文档详细,开发社区也很活跃,出现问题容易得到支持。同时它还是一款开源的工具。遗憾的是交易接口不支持国内的券商,否则就可以直接交易了。编写一个BackTrader回测程序很简单。首先是编写一个自己的策略类,然后调用执行这个策略。一个最简单的策略类只需要十几行代码。class SmaCross(bt.Strategy): # 定义策略参数,可以在启动策略的时候调整这些参数 params = d原创 2020-07-20 14:54:22 · 3164 阅读 · 0 评论