一、策略的基础概念
- MA概念:移动平均线,Moving Average,简称MA,MA是用统计分析的方法,将一定时期内的证券价格(指数)加以平均,并把不同时间的平均值连接起来,形成一根MA,用以观察证券价格变动趋势的一种技术指标
- MA查看:招商银行查看 -> 点击指标 -> 搜索ma -> 点击“移动平均线”
- 5 minutes ma20:5分钟,MA20是指取最近100分钟的第5分钟、10分钟、15分钟……100分钟(20个价格)股票的收盘价的平均值
二、ma20-5min策略实现
1 - 新建类AstockTrading并添加构造方法
class AstockTrading(object):
def __init__(self, stock_code):
self.stock_code = stock_code
self._Dt = [] # 交易时间
self._Open = [] # 开盘价
self._High = [] # 最高价
self._Low = [] # 最低价
self._Close = [] # 收盘价
self._Volume = []
self._tick = None # 数据
self._last_bar_start_minute = None # 最后一次更新bar的时间
self._isNewBar = False # 是否有新bar
# 当前订单,dict, 字典
self._current_orders = {
'order1': {
'open_price': 1,
'open_datetime': '2021-10-22 9:00',
'comment': {
}
}
}
# 历史订单
self._history_orders = {
}
2 - 方法说明
- get_tick:获取当前的数据
- get_history_data_from_local_machine:加载历史数据
- bar_generator:生成bar
- _buy:买入
- _sell:卖出
- strategy:执行策略
3 - 完整源码
以下代码还未进行回测,仅仅参考思路,需要可运行的请参考后续的文章
import requests
from time import sleep
from datetime import datetime, time
from dateutil import parser
# __init__,构造,初始化,实例化
class AstockTrading(object)