奇葩的python量化交易策略,如何利用天气赚钱

奇葩的python量化交易策略,如何利用天气赚钱

量化交易体系,门派众多,但是存在一类“旁门左道”,比如有人曾经观察女性裙摆的长度,越短越做多、越长越做空。也有人用利用天气情况,艳阳天的时候做多,阴雨天做空
 
而本次对基于天气的另类交易策略进行试验,看看交易结果会怎样。我们假设天气好的时候,人们的心情会变好,市场更活跃,倾向于做多,下雨的时候人们心情变差,市场低迷,倾向于做空。
 
奇葩的python量化交易策略,如何利用天气赚钱

1

交易前提
前提假设:深圳成指和深圳天气存在某种关系。
交易对象:选取嘉实中证500ETF(159922)作为交易对象,初始资金10万元,初始持有股数0股。
交易方式:按照当天天气状况,雨天以开盘价卖出,晴天、多云等非雨天以开盘价买进。每次交易1000股。
 
奇葩的python量化交易策略,如何利用天气赚钱

2

数据准备

 

有人说数据分析师很大一部分精力都耗费在数据获取方面。对于天气、股票数据,爬虫当然可以,但目前各大商业网站反爬严重,对新手来说很不友好。本次还是直接用最简单的方式,一招搞定。
 
深圳的天气数据通过深圳市数据开放平台免费下载,股票交易数据通过tushare库直接读取。
 
登录深圳市数据开放平台(https://opendata.sz.gov.cn/)免费下载深圳市历史天气状况(需要注册)。
奇葩的python量化交易策略,如何利用天气赚钱

 

让我们来看一下官方的气象数据都长啥样:

 

奇葩的python量化交易策略,如何利用天气赚钱

 

奇葩的python量化交易策略,如何利用天气赚钱

3

试验步骤

 

1).编程环境:Anaconda
第三方库:Tushare(安装方法:Anaconda Prompt里直接输入 pip install tushare)。
 
2).数据获取
通过read_excel函数直接读取天气数据(本次天气数据的样本为2012年7月16日至2019年7月1日),对天气的文本进行简单的建模,转化为交易信号。最终生成含股票开盘价(“price”列)、买卖信号(“buy/sell”列)等栏目的数据。

 

奇葩的python量化交易策略,如何利用天气赚钱
奇葩的python量化交易策略,如何利用天气赚钱

 

结果数据如下:

 

奇葩的python量化交易策略,如何利用天气赚钱

 

3).数据清洗、填充
通过上表可以发现,价格栏存在很多缺失值,主要原因为:该基金还未成立,周末、节假日停止交易等。
首先进行缺失值的删除处理,之后根据下面几个维度进行分析:
  • 初始交易金额
  • 持股数
  • 算出持股数量(“amount”列)
  • 账户余额(“balance”列)
  • 市值列(“value”列)等栏目数据

 

奇葩的python量化交易策略,如何利用天气赚钱

 

至此,所有的数据已经计算完毕,形成了包含:
  • 时间(“DDATETIME”列);
  • 天气情况(“WEATHERTODAY”列);
  • 交易价格(“price” 列);
  • 买卖信号(“buy/sell” 列);
  • 持股数量(“amount” 列);
  • 账户余额(“balance” 列);
  • 市值(“value” 列);
奇葩的python量化交易策略,如何利用天气赚钱

 

奇葩的python量化交易策略,如何利用天气赚钱

4

数据可视化
 
通过python的绘图函数,将市值、股票交易价格、持股数量等数据,按时间数据进行显示。

 

奇葩的python量化交易策略,如何利用天气赚钱
奇葩的python量化交易策略,如何利用天气赚钱
注:
  • (1).绿色为10万启动资金的市值变化图。
  • (2).红色为股票嘉实中证500ETF(159922)开盘价时序图。
  • (3).蓝色为持有股票数量时序图。
  
奇葩的python量化交易策略,如何利用天气赚钱

5

 结果分析
 
1).2013年3月15日至2019年7月1日期间,基于天气的交易策略,账目浮盈天数占比84.86%(市值大于10万元启动资金的天数占比),最高浮盈比率曾达到90.19%,到数据截至日期(2019年7月1日),收益率为60.39%,最大浮亏比例6.19%。
 
本策略总体还是实现年平均收益10%左右的正收益,但这可能跟入市时间有关(2013年3月15日),刚好在牛市启动前期入市。但经历牛熊交替之后,依旧实现正收益,难道小资金定投真的有效?

 

2).本交易策略还不是一个完整的交易策略,未设置交易的佣金,也无明确的止损、止盈方式等,有兴趣的读者可以进一步完善。

 

3).本策略持股数量呈现一定的周期性,这个倒是开始没预料到的,这个值得深入探讨。
 
至于深圳天气和深圳成指之间是不是真的有相关性,欢迎留言吱一声。

 

近期热门:

值得收藏|菜鸟学Python【入门文章大全】

Python里三个最高逼格的调试神器

拍个自拍,让Python告诉你,军训过后你黑了几度?

用Python分析国庆最火的电影,20万数据分析

千人学习群:

小密圈的趣味实战-微信主题

小密圈人气很高的两个实战项目

倒计时2天!千人Python知识星球重大福利,一年仅一次,还剩2天!

 

获取干货源码,阅读更多有趣的案例,也可以直接去微信公众号【菜鸟学Python】获取。
菜鸟学Python » 奇葩的python量化交易策略,如何利用天气赚钱