学习目标
量化策略学习主要分为一下几个方向:
1) python基础,爬虫
2)机器学习深度学习理论基础
3)常用的量化模型
4)数据库
5)金融知识
学它不需要成为社畜才能变现,它是属于你自己的一亩三分地!请牢记这一点,一个程序猿不要为了找工作而学习量化,是为了挣脱996束缚的枷锁才来学习这一门技艺。
https://zhuanlan.zhihu.com/p/273286207
- python基础 ,已掌握,略过;
- 量化框架的选择 ,链接🔗(待更新);
- 基础金融知识 ,链接🔗(待更新);
- 行情数据来源 ,链接🔗(待更新);
- 基础金融知识 ,链接🔗(待更新);
- 开发实例 ,链接🔗(待更新);
量化入门(一)
JoinQuant一个基于Python的在线量化交易平台。量化和编程相结合。学习量化第一天快速入门熟悉使用JoinQuant
- 摘要回顾:
- 确定策略内容与框架
- 初始化
- 全局变量 g.
- 股票后缀 : 深交所后缀为 ".XSHE ",上交所后缀为 “.XSHG”。
- 获取收盘价与均价
- 获取二十日均价 data[ i ].mavg
- 获取收盘价 data[ i ].close
- 判断是否买卖
- 利用 if 进行判断
- 获取当前账户现金 context.portfolio.cash
- 买入卖出
- 下市价单
#用法:order_value(要买入股票股票的股票代码,要多少钱去买)
order_value(g.security, cash)# 用当前所有资金买入股票
#用法:order_target(要买卖股票的股票代码,目标持仓金额)
order_target(g.security, 0)# 将股票仓位调整到0,即全卖出 - 滑点 简言之是为成交误差留出余地。
- 下单方法有哪些
- 无法交易的情况: 涨跌停,停牌,T+1制度等
- 下市价单
- 进行回测
- 回测含义及其方法
- 如何根据回测结果评价策略
- 建立模拟交易,行情实时连接
多股票策略
和第一个入门相比,就是多了for循环
- 摘要回顾:
-
使用run_daily进行周期循环
run_daily(daily,time=‘every_bar’)# 周期循环daily
def daily(context):
… -
取用市值数据、持仓数据、指数成分股数据
scu = get_index_stocks(‘000001.XSHG’)+get_index_stocks(‘399106.XSHE’)
get_fundamentals(query(
#获取的数据,多个数据项用逗号隔开
数据表.数据项,数据表.数据项…
).filter( # 按条件筛选
#具体条件 多个条件用逗号连接,且要求是要同时满足
数据表.数据项>xx,数据表.数据项<xx,数据表.数据项.in_(scu),…
).order_by( # 排序
#.asc()是从小到大 .desc()是从大到小
数据表.数据项.asc()
), date=日期
) -
学会编写简单小市值轮动策略
-
- 摘要
- 自定义函数 : daily 是主体main函数
def daily(context):
#判断策略进行天数是否能被轮动频率整除余1
if g.days % g.period == 1:
#选出要交易的股票
buylist=pick(context)
#交易下单
trade(context,buylist)
else:
pass # 什么也不做 - 过滤停牌、涨停和st股——共享函数库
- 均衡分配资金 position_per_stk = context.portfolio.total_value/g.stocksnum
- 止损 每天检测持仓每个股票的亏损情况,清仓亏损达到20%的股票。
if context.portfolio.positions[stock].price/context.portfolio.positions[stock].avg_cost < 0.8:
# 调整stock的持仓为0,即卖出
order_target(stock, 0)
# 输出日志:股票名 止损
print “\n%s 止损” % stock - 自定义函数库
- 自定义函数 : daily 是主体main函数
- 摘要
-
分钟止损 : run_daily中的time参数从’every_bar’改为’before_open’
-
行业与概念股
-
根据大盘调整持仓水平 :新增一个全局变量g.holdpct来接受返回的信号
-
获取行情——history:mktindex就是沪深300指数的最新值
-
技术指标库
-
带名字的list——dict
-
性能分析
分钟级策略计算量容易很大,极端时可能会造成交易延迟,以至于出现策略总是慢半拍的情况,所以我们也要关注下策略的运算耗时情况,而相关函数就是——enable_profile -
归因分析
归因分析功能会分析你的回测结果,从多个维度分析你的策略,如收益、持仓、风险、因子、brinson归因等。这个功能计算量比较大,尤其是brinson归因,所以往往会明显感觉到慢,请耐心等待。
-
学习计划
-
数据结构
-
- 刷题
-
-
数据库
-
- 学习数据库相关
-
-
机器学习
-
- 看面试题
-
-
量化
-
- 看教程
-