2022年2022年量化投资入门教程六——技术指标MA策略 .pdf
《2022年2022年量化投资入门教程六——技术指标MA策略 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年量化投资入门教程六——技术指标MA策略 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、量化投资入门教程六技术指标 MA策略目录1.策略原理及代码1.1 策略原理1.2 策略代码 1.2.1ATR.ini 1.2.2ATR.py 1.2.3stock_pool.csv 2.Python 相关函数2.1Python 标准函数2.2 掘金接口函数3.金融术语(移动平均线)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 12 页 -1.策略原理及代码 1.1策略原理基于 ta-lib的 MA策略。如果当前价格高于MA,买入股票;如果当前价格低于 MA,卖出股票。实现量化投资策略的相关编程并非想象中这么困难,从Python 的安装到量化编程的实现只需简单几步(具体见http
2、:/ Python、掘金量化平台及相关工具包)1.2 策略代码(可直接在python 中实现)1.2.1 ma.ini strategyusername=password=;回测模式mode=4 td_addr=localhost:8001 strategy_id=;订阅代码注意及时更新subscribe_symbols=SHFE.ag1705.tick,SHFE.ag1705.bar.60 backtest start_time=2017-02-15 21:00:00 end_time=2017-03-07 16:00:00;策略初始资金initial_cash=10000000;委托量成交
3、比率,默认=1(每个委托 100%成交)transaction_ratio=1;手续费率,默认=0(不计算手续费)commission_ratio=0.0004 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 12 页 -;滑点比率,默认=0(无滑点)slippage_ratio=0 price_type=1;基准bench_symbol=SHSE.000300 para trade_exchange=SHFE trade_symbol=ag1705 window_size=200 bar_type=60 tick_size=1 significant_diff=21 timep
4、eriod=20#logger settings#loggers keys=root logger_root level=DEBUG handlers=console,file handlers keys=console,file handler_file class=handlers.RotatingFileHandler args=(ma.log,a,maxBytes=10000,backupCount=5)formatter=simple handler_console class=StreamHandler 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 12 页 -ar
5、gs=(sys.stdout,)formatter=simple formatters keys=simple formatter_simple format=%(asctime)s-%(name)s-%(levelname)s-%(message)s datefmt=1.2.2 ma.py#!/usr/bin/env python#encoding:utf-8 import numpy as np from collections import deque from gmsdk import*from talib import SMA#算法用到的一些常量,阀值,主要用于信号过滤eps=1e-
6、6 threshold=0.235 tick_size=0.2 half_tick_size=tick_size/2 significant_diff=tick_size*2.6 class MA(StrategyBase):strategy example1:MA decision price cross long MA,then place a order,temporary reverse trends place more orders def _init_(self,*args,*kwargs):#import pdb;pdb.set_trace()super(MA,self)._i
7、nit_(*args,*kwargs)#策略初始化工作在这里写,从外部读取静态数据,读取策略配置参数等工作,只在策略启动初始化时执行一次。#从配置文件中读取配置参数self.exchange=self.config.get(para,trade_exchange)self.sec_id=self.config.get(para,trade_symbol)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 12 页 -self.symbol=.join(self.exchange,self.sec_id)self.last_price=0.0 self.trade_unit=3,1,2
8、,0#self.trade_count=0 self.trade_limit=len(self.trade_unit)self.window_size=self.config.getint(para,window_size)or 200 self.timeperiod=self.config.getint(para,timeperiod)or 20 self.bar_type=self.config.getint(para,bar_type)or 60 self.close_buffer=deque(maxlen=self.window_size)self.significant_diff=s
9、elf.config.getfloat(para,significant_diff)or significant_diff#prepare historical bars for MA calculating#从数据服务中准备一段历史数据,使得收到第一个bar 后就可以按需要计算ma last_closes=bar.close for bar in self.get_last_n_bars(self.symbol,self.bar_type,self.window_size,end_time=self.start_time)last_closes.reverse()#因为查询出来的时间是倒序排
10、列,需要倒一下顺序self.close_buffer.extend(last_closes)#响应 bar 数据到达事件defon_bar(self,bar):#确认下 bar 数据是订阅的分时 if bar.bar_type=self.bar_type:#把数据加入缓存self.close_buffer.append(bar.close)#调用策略计算self.algo_action()#响应 tick数据到达事件defon_tick(self,tick):#更新市场最新成交价self.last_price=tick.last_price defon_execution(self,execu
11、tion):#打印订单成交回报信息print(received execution:%s%execution.exec_type)#策略的算法函数,策略的交易逻辑实现部分defalgo_action(self):#type:()-object#数据转换,方便调用ta-lib函数进行技术指标的计算,这里用SMA指标名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 12 页 -close=np.asarray(self.close_buffer)ma=SMA(close,timeperiod=self.timeperiod)delta=round(close-1-ma-1,4)#最新数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年量化投资入门教程六技术指标MA策略 2022 量化 投资 入门教程 技术指标 MA 策略
限制150内