MACD(分钟、日、周、月、年级别)研究
最近和朋友一直在研究 MACD
方面的策略,看到社区里很多人都在问分钟、周级别的MACD
如何写,这里我就直接把代码放出来,分享给各位有需求的朋友!今后,将会陆续推出其它指标的不同时段研究主题!
如果对你有帮助,希望点下赞 O(∩_∩)O哈哈~
先上封装好的方法,方便各位复制
import pandas as pd
import numpy as np
import talib as tb
import datetime
import time
def get_macd(stock_list, check_date=None, unit='1d', include_now=False):
"""
MACD计算函数,返回一个嵌套字典,Key是股票代码,Value是一个字典,不包括当前时间段的值
stock_list:可以指定单只股票,也可以是股票列表
check_date: 获取MACD值的日期,注意未来数据值
unit:支持分钟 xm、天 xd、周 xw 时间段的数据
include_now: 是否包含当前时间段的bar
"""
macd_list = {
}
if isinstance(check_date,str):
check_date = datetime.datetime.strptime(check_date, "%Y-%m-%d %H:%M:%S")
'''如果股票代码是个字符串而不是一个列表,进行转换'''
if isinstance(stock_list,str):
stock_list = [stock_list]
for stock in stock_list:
'''获取指定日期之前的300个收盘价信息'''
array = get_bars(security=stock,
count=500,
unit=unit,
fields=['close'],
include_now=include_now,
end_dt=check_date,
fq_ref_date=check_date)
close_list = array['close']
'''求出用300个数据推算出的dif/dea/macd集合'''
dif, dea, macd = tb.MACD(close_list,
fastperiod=12,
slowperiod=26,
signalperiod