量化交易——MACD策略

目标:通过macd指标判断股票买入卖出时机

一、金叉死叉定义

金叉定义: 当MACD指标中的DIFF线从下而上与DEA线交叉时,这个交叉为金叉,金叉一般情况下是买入的信号。

死叉定义: 当MACD指标中的DIFF线从上而下与DEA线交叉时,这个交叉为死叉,死叉一般情况下是卖出的信号。

二、数据来源

1、tushare

tushare官网

(1)优点

数据很全,经得起验证,准确率不错;学生党免费使用!这点必须夸爆,这么好的接口居然可以对学生免费;文档查阅方便,接口使用实例详实,点赞!

(2)缺点

有积分制度和频率限制,写程序必须考虑频率限制比如每分钟获取次数;需要注册和登录,比较繁琐;

(3)解决高频访问历史行情数据方法

构建本地数据库,每日更新,不直接访问tushare。只支持日级行情数据,高频数据还得花钱。

2、baostock

baostock官网
优点:没有频率限制,可以高频访问;基本的一些数据都有;不用注册不用登陆;文档查阅方便容易上手
缺点:缺少精细一些的季度报数据;没有基金数据
.

三、计算买入卖出时机

设第t-1天和第t天的diff、dea值分别为diff[t-1]、dea[t-1]、diff[t]、dea[t],则

1、买入时机(快线上穿慢线,且在零轴附近)

diff[t-1]<dea[t-1] and diff[t]>dea[t] and -0.01<=diff[t]<+0.01

2、卖出时机(慢线上穿快线,且在零轴附近)

diff[t-1]>dea[t-1] and diff[t]<dea[t] and -0.01<=diff[t]<+0.01

四、发送微信提醒

待开发

五、完整代码

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

def read_stock_data(code='001979.SZ'):
    df=pd.read_csv('./stock_data/%s.csv'%code,index_col=0)
    return df
# 股票代码列表
code_list=['601288.SH','001979.SZ','600048.SH','002920.SZ','000560.SZ',
           '002377.SZ','002574.SZ','600115.SH','002410.SZ','300285.SZ',
           '300760.SZ','601963.SH','601328.SH','601916.SH','601318.SH',
           '601628.SH','000333.SZ','000001.SZ','600016.SH','601988.SH',
           '601398.SH','601939.SH','600036.SH','601633.SH','002594.SZ',
           '000625.SZ','300059.SZ']
data=read_stock_data()#读取股票行情数据
#计算金叉和死叉
print(len(data))
for i in range(len(data)-1):
    print(data.iloc[i+1,0])
    print(data.iloc[i,7])
    print(data.iloc[i+1,7])
    if data.iloc[i,7]<=0 and data.iloc[i+1,7]>0:
        trade_date=data.iloc[i+1,0]
        print('金叉买入信号')
    elif data.iloc[i,7]>=0 and data.iloc[i+1,7]<0:
        trade_date=data.iloc[i+1,0]
        print('死叉卖出信号')
fig, ax = plt.subplots()
print(data)

#绘制dif和dea曲线图
x=range(len(data))
y1=data.iloc[:,8]
y2=data.iloc[:,9]
ax.plot(x,y1)
ax.plot(x,y2)
plt.show()

参考文献

一位资深操盘手坦言:MACD金叉死叉真正用法,简单却很实用
指数日线行情

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
掘金量化交易MACD策略是一种基于技术指标MACD(Moving Average Convergence Divergence)的交易策略MACD是一种常用的趋势指标,通过计算两个移动平均线之间的差异来判断市场的趋势。MACD策略的基本原理是在MACD指标出现买入信号时买入,出现卖出信号时卖出。 对于掘金量化交易MACD策略的失效原因,可以参考之前提到的策略失效的可能原因。例如,策略生效的逻辑基础不再成立,可能是因为市场环境发生了变化,导致MACD指标的有效性降低。另外,如果市场上运行的相似策略过多,可能会导致策略赚钱变难甚至完全失效。此外,市场出现了寄生策略,也可能对MACD策略的效果产生负面影响。 需要注意的是,MACD策略的具体参数设置和交易规则可能因个人的需求和市场情况而有所不同。因此,在实际应用中,需要根据具体情况进行调整和优化,以提高策略的有效性和适应性。 参考资料: \[2\] https://www.joinquant.com/view/community/detail/3910 \[3\] https://zhuanlan.zhihu.com/p/34786180 \[4\] https://baijiahao.baidu.com/s?id=1665999549685761066&wfr=spider&for=pc #### 引用[.reference_title] - *1* *2* *3* [量化交易入门——平台框架、技术类策略、量化心得](https://blog.csdn.net/fearlesslpp/article/details/109652782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little_Yuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值