DAY #19
1.主题
RICEQUANT量化大课堂
https://www.*/community/topic/761
https://www.bilibili.com/video/av4135505/
2.摘要
导入python中的金融模块:
import pandas
import numpy as np
import talib
import statsmodels
Ta-lib是金融软件中应用广泛的专门用来计算技术指标的开源库,涵盖了200多种市场常见的技术指标运算。
Ta-lib的语法总结起来,就是array in, array out
Ta-lib考虑到这点,专门设计了matype这个变量,用数字代表均线计算方式,可以涵盖多种均线的计算方法。我们画出来看看。
#MA_Type: 0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3 (Default=SMA)
SMA = talib.MA(close,30,matype=0)[-1]
EMA = talib.MA(close,30,matype=1)[-1]
WMA = talib.MA(close,30,matype=2)[-1]
plot('SMA',SMA)
plot('EMA',EMA)
plot('WMA',WMA)
普通的MACD运算公式如下,默认均线为EMA不可选
macd, macdsignal, macdhist = MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
可以使用其他均线的扩展版本如下,这时候你就可以随便选不同的均线
macd, macdsignal, macdhist = MACDEXT(close, fastperiod=12, fastmatype=0, slowperiod=26, slowmatype=0, signalperiod=9, signalmatype=0)
另外同样是以均线为基础扩展的常见指标bollinger bands, 也可以选择matype
upperband, middleband, lowerband = BBANDS(close, timeperiod=5, nbdevup=2, nbdevdn=2, matype=0)
掌握了ta-lib的基本结构之后,大家很快会发现所有的技术指标api都大同小异
get_fundamentals - 查询财务数据
scheduler定时器——>每日运行一次指定的函数,只能在init内使用。schedule一定在其对应时间点的handle_bar之前执行。
universe - 策略合约池
context.universe
在运行update_universe,subscribe或者unsubscribe的时候,合约池会被更新。
需要注意,合约池内合约的交易时间(包含股票的策略默认会在股票交易时段触发)是handle_bar被触发的依据。
order_shares - 指定股数交易(股票专用)
order_shares(id_or_ins, amount, style=MarketOrder())
落指定股数的买/卖单,最常见的落单方式之一。如有需要落单类型当做一个参量传入,如果忽略掉落单类型,那么默认是市价单(market order)。
order_target_percent - 目标比例下单(股票专用)
order_target_percent(id_or_ins, percent, style=OrderType)
买入/卖出证券以自动调整该证券的仓位到占有一个指定的投资组合的目标百分比。
热balance和 scheduler结合实现定期调仓换股。
Ricequant Research 平台 = ipython notebook + Ricequant API + Ricequant清理的优质数据
3.心得感悟
财务数据调用——>get_fundamentals
技术指标调用——>import talib
五个策略要记牢,做代码样本:
①.Golder Cross均线金叉死叉策略
②.MACD金叉死叉策略
③.营业收入与市盈率调仓换股策略
④.二八轮动策略
⑤.Fama-French三因子模型
再来一次复习:
一次成功安装模块talib与tushare小技巧(MAC):
①.在anaconda的bash(root)三角标志中选择open terminal,弹出bash窗口
②.输入形如(base) bash-3.2$ pip install tushare句子,回车自动安装tushare
③.再打开homebrew,输入brew install ta-lib,自动安装talib,关闭即可
④.继续在terminal中输入sudo pip install ta-lib,输入管理员用户密码,自动安装talib
⑤.如果pip不是最新版本,一定要升级到最新版本,报错时会提示,粘贴运行即可
⑥.此方法安装后,就可以在系统python中,或通过anaconda启动iPython或jupyter notebook中导入tushare或talib啦!!
自己一点点积攒小积木,从别人的策略模板中慢慢扒拉~~
4.时间统计
昨日阅读5小时,累计495小时
|