python A股金叉死叉量化交易

article/2025/9/19 6:46:08

文章目录

  • 前言
  • 准备
  • python代码
  • 总结


前言

本研究旨在探讨 A 股市场的均线理论及波动性变化情况。在研究中,我们使用了历史股价数据,并基于这些数据计算了不同时间段的简单移动平均线和指数移动平均线。

我们的结果表明,A 股市场的均线理论较为成立,即长期均线对价格走势具有较好的预测作用。同时,我们也发现,A 股市场的波动性变化较大且不稳定,需要考虑多种因素来进行有效的风险管理。

具体来说,我们发现,在不同时期,简单移动平均线和指数移动平均线的预测能力有所不同。在市场比较平稳的时期,长期简单移动平均线的预测能力较强;而在市场波动较大的时期,则更应该关注短期指数移动平均线的预测能力。此外,我们还注意到,市场中存在着一些异常波动和价格暴涨暴跌的情况,需要对这些风险进行有效的管理和控制。

准备

参考资料:

1.A 股市场均线理论及波动性变化的实证研究

2.python==python38

  1. 查询dqnapi接口域名:http://www.dqnapi.com/
    在这里插入图片描述

pro.stock_basic dqnapi号:100.3568/2023.1_v1
pro.daily dqnapi号:100.3568/2023.11_v1

python代码

import tushare as ts
import pandas as pd
from time import sleep# 获取 Tushare 账户 TOKEN
pro = ts.pro_api(token='官方获取')# 获取股票列表并遍历所有股票
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code')
result_list = []
count = 0  # 计数器,记录已经访问接口的次数
for i in range(len(stock_list)):ts_code = stock_list['ts_code'][i]print('Processing stock:', ts_code)count += 1if count >= 800:sleep(60)count = 0# 获取股票数据df = pro.daily(ts_code=ts_code, start_date='20230101', end_date='20230614')# 计算均线df['ma10'] = df['close'].rolling(10).mean()df['ma20'] = df['close'].rolling(20).mean()# 初始化变量position = Nonebuy_price = 0sell_price = 0capital = 10000hands = 0fee = 0.0015# 判断金叉和死叉并进行交易for i in range(20, len(df)):# 判断是否金叉if df['ma10'][i] > df['ma20'][i] and df['ma10'][i-1] <= df['ma20'][i-1]:# 判断前两日波动情况if (df['close'][i-1] - df['close'][i-2]) / df['close'][i-2] >= 0.02:# 记录交易信息并买入hands = int(capital / (df['close'][i] * 100)) # 计算买入手数buy_price = df['close'][i] + fee # 买入价为当日收盘价加上手续费capital -= hands * buy_price * 100 # 计算剩余资本position = 'long'print(df['trade_date'][i], 'buy', hands, 'hands')# 判断是否死叉elif df['ma10'][i] < df['ma20'][i] and df['ma10'][i-1] >= df['ma20'][i-1]:# 判断前两日波动情况if (df['close'][i-1] - df['close'][i-2]) / df['close'][i-2] >= 0.02:# 记录交易信息并卖出sell_price = df['close'][i] - fee # 卖出价为当日收盘价减去手续费capital += hands * sell_price * 100 # 计算剩余资本hands = 0position = Noneprint(df['trade_date'][i], 'sell', hands, 'hands')# 计算收益率if position != 'long':continuetrade_days = len(df[df['trade_date']>=df.iloc[-1]['trade_date']])start_capital = 10000end_capital = capital + hands * df.iloc[-1]['close'] * 100 - trade_days * 2 * feeprofit = (end_capital - start_capital) / start_capitalif profit > 0.05:df_trade = pd.DataFrame({'ts_code': [ts_code], 'trade_date': [df.iloc[-1]['trade_date']], 'position': ['long'], 'hands': [hands], 'price': [buy_price], 'profit': [profit]})result_list.append(df_trade)print('The total return of', ts_code, 'is: {:.2%}'.format(profit))# 将结果写入 csv 文件中
if len(result_list) > 0:df_result = pd.concat(result_list).reset_index(drop=True)df_result.to_csv('result.csv', index=False)print('Result has been saved in result.csv')
else:print('No stock meets the requirements.')

总结

在股票技术分析中,均线的金叉和死叉是很常见的交易信号。

均线的金叉表示短期均线上穿长期均线,此时标志着股价走势由下向上改变,是一个买入信号;而均线的死叉则表示短期均线下穿长期均线,此时标志着股价走势由上向下改变,是一个卖出信号。

在代码中,我们可以通过以下方式来判断均线的金叉或死叉:

if df[‘ma10’][i] > df[‘ma20’][i] and df[‘ma10’][i-1] <= df[‘ma20’][i-1]:
# 发出买入信号

elif df[‘ma10’][i] < df[‘ma20’][i] and df[‘ma10’][i-1] >= df[‘ma20’][i-1]:
# 发出卖出信号
在这里,我们使用了当前交易日的两个均线值(10日均线和20日均线)和前一日的均线值进行比较,以判断金叉或死叉的发生。如果当前交易日的短期均线大于长期均线,并且前一日的短期均线小于等于长期均线,说明出现了金叉;如果当前交易日的短期均线小于长期均线,并且前一日的短期均线大于等于长期均线,说明出现了死叉


http://chatgpt.dhexx.cn/article/97ET82Q5.shtml

相关文章

量化投资策略——金叉死叉策略

本文向大家详细介绍如何在BigQuant平台开发传统的择时策略&#xff0c;旨在帮助大家对BigQuant平台回测有初步印象。 金叉死叉策略其实就是双均线策略。策略思想是&#xff1a;当短期均线上穿长期均线时&#xff0c;形成金叉&#xff0c;此时买入股票。当短期均线下穿长期均线时…

漆学军:均线交叉,金叉做多,死叉做空的例子程序

《MT4EA编程速成教程》中第33页习题 第一题&#xff1a;将交易信号改成均线交叉&#xff0c;金叉做多&#xff0c;死叉做空。 金叉死叉&#xff0c;需要获取小均线两个点&#xff0c;大均线两个点&#xff0c;然后比较四个点的大小变化&#xff0c;就能判断金叉和死叉。 当黄…

Backtrader简单均线交易策略“金叉和死叉”

Backtrader简单均线交易策略“金叉和死叉” 1、使用5日均线和10日均线 MA5和MA10的交叉点作为买入和卖出信号 交易策略是量化交易的核心&#xff0c;MA均线策略也称为SMA均线策略&#xff0c;是量化交易的最简单的量化交易策略之一&#xff0c;当5日均线向上穿过10日均线的时…

平滑KDJ指标公式,减少无效金叉死叉

软件自带的KDJ指标比较敏感&#xff0c;在震荡上涨或者震荡下跌时会反复出现金叉死叉信号&#xff0c;不利于指标的使用以及进一步开发。为了减少无效金叉死叉&#xff0c;本文对KDJ指标公式进行平滑处理。 一、KDJ指标对比 以下为软件自带的KDJ指标&#xff0c;加上了图标。本…

用python找出400多万次KDJ金叉死叉,胜率有多高?附代码

引言: 邢不行的系列帖子“量化小讲堂”&#xff0c;通过实际案例教初学者使用python进行量化投Z&#xff0c;了解行业研究方向 这是邢不行第90期量化小课堂分享 作者 l 邢不行 不知道大家有没有发现&#xff0c;打开任意一个交易软件&#xff0c;无论是针对A股、美股、期货、…

金叉死叉图解,金叉死叉的短线操作方法

小沙我自己长期以来一直对二级市场交易很有热情,从三年前开始,就不断地在理论实践两方面逐渐加深对于金融市场的理解,最近发现一个叫QR量化社区的平台,也给了自己很多灵感。经历了最近的市场波动,突然来了动力,在此就分享一篇自己这段时间的一点总结。 最近,股票市场不…

python股票量化交易(4)---金叉与死叉

纯是济世之心&#xff0c;则为端。苟有一毫媚世之心&#xff0c;即为曲。纯是爱人之心&#xff0c;则为端。有一毫愤世之心&#xff0c;即为曲。纯是敬人之心&#xff0c;则为端。有一毫玩世之心&#xff0c;即为曲。 文章目录 什么是金叉与死叉金叉与死叉的运算绘制金叉与死叉…

量化交易——双均线策略(金叉死叉)

一、双均线概念 均线&#xff1a;对于每一个交易日&#xff0c;都可以计算出前N天的移动平均值&#xff0c;然后把这些平均值连起来&#xff0c;成为一条线&#xff0c;就叫做N日移动平均线。移动平均线常用线有5日、10日、30日、60日、120日的指标。 5日和10日的是短线操作参照…

什么是金叉、死叉

转载自&#xff1a;http://blog.sina.com.cn/s/blog_1578c31fd0102wuxu.html 均线系统最基本最简单第一大战法就是“金叉做多&#xff0c;死叉做空”&#xff0c;它是趋势发生转变的重要信号。金叉也称“黄金交叉”&#xff0c;就是一条短期均线成功上穿另一条长期均线&#xf…

“鬼影”浅析 - 反病毒,信息安全,网络安全,反木马,病毒资讯平台,安全解决方案,电脑使用技巧,杀毒软件交流,anti-virus,民间反病毒联盟

访问原文 这个鬼影病毒相信大家都比较熟悉&#xff0c;但是最近似乎那个什么XX工作室已经宣布停止开发了&#xff0c;所以逐渐淡出的人们的视线&#xff0c;但是这个病毒的技术含量比较高&#xff0c;值得去学习…… 鬼影主体:WMPLAYER.EXE MD5:f377e0f7c8f1a37cd5c92cf7aea3c8…

写计算机病毒吗,会写计算机病毒很牛吗

满意答案 djipuh90 2016.02.11 采纳率&#xff1a;52% 等级&#xff1a;12 已帮助&#xff1a;8216人 先假设你说的病毒是os系统病毒&#xff0c;以windows系统为例 类似熊猫烧香这种层次的病毒&#xff0c;大概只能算是非常非常普通的&#xff0c;技术上也没有什么特别之处…

鬼影3分析笔记

这是学习笔记&#xff0c;供自己再次调试回忆&#xff0c;别人看没什么价值&#xff0c;因为写的太乱了。而且有些点自己也没理清 前面是wowocock老师的文档 首先根据教程了解到感染好mbr之后存在磁盘最后的区段的信息有 1.ProtectMode Code是Hook了OsLoader.exe之后获得控制…

鬼影病毒分析报告

鬼影病毒分析报告 一、 鬼影病毒概述 这是一个***下载器&#xff0c;使用了ring3恢复内核钩子、感染磁盘引导区&#xff08;MBR&#xff09;、多种方法结束杀毒软件等 技术自启动并对抗杀毒软件。完全感染后&#xff0c;是一个看不到可疑文件、没有启动项、普通重装系统也无法解…

用友与鬼影病毒

昨天一客户打电话&#xff0c;说软件无法登陆。 上门查看现象如下&#xff1a; 用友服务无法启动&#xff0c;双击启动&#xff0c;报错&#xff1a;本地计算机上的用友通服务启动后又停止了。一些服务自动停止&#xff0c;如果它们没有什么可做的&#xff0c;例如性能和日志警…

鬼影病毒

鬼影病毒是指寄生在磁盘 主引导记录&#xff08;MBR&#xff09;&#xff0c;即使格式化重装系统&#xff0c;也无法清除的病毒。 2010年3月15日&#xff0c;国内某安全中心发现一种被命名为“鬼影”的电脑病毒&#xff0c;由于该病毒成功运行后&#xff0c;在进程中、系统启动…

鬼影病毒6.0分析

原理图 文件名功能1001.exe主模块camhgzsswk.sys释放模块p2phook.sys释放模块的克隆p2pc.ini攻击模块配置文件safemon.dll注入攻击模块beep.sys持久化攻击模块 主模块1001.exe [1]创建用户mima1&#xff0c;运行ipconfig进行掩饰。 [2]释放病毒驱动sys文件。 [3]将病毒驱动注…

鬼影病毒和浏览器锁狼狈为奸,用户浏览器遭强行劫持

鬼影病毒和浏览器锁狼狈为奸&#xff0c;用户浏览器遭强行劫持 据金山毒霸安全实验室监测&#xff0c;发现鬼影病毒变种再次高发&#xff0c;其中一个伪装成阿里旺旺的变种感染量就达1.6万台/天。中毒电脑桌面出现多个图标&#xff0c;浏览器被锁定为go2000.com或soolaa.com&am…

新鬼影病毒

今天和明天是最后两天宿舍有空调的日子啦,暑假宿舍没空调啊,悲催T__T 好吧,今天是最精华的部分啦对于鬼影3的分析,剩下的都是浮云啦,alg.exe不准备分析了,能用OD调试的货.分析起来只是时间问题.但是MBR和之后的保护模式的代码就不一样啦同学们,纯静态分析,伤不起啊,各种硬编码,…

股票量化分析指标公式是什么?

股票量化分析指标公式是什么&#xff1f;其公式为&#xff1a;量比现成交总手/(过去5日平均每分钟成交量当日累计开市时间)。 股票量化分析指标API调用流程&#xff08;部分&#xff09; “股票量化分析指标”是指可以用具体数据反映的指标&#xff0c;比如成交量、市盈率和日…

基于macd、kdj、ma技术指标分析股票多空方向——应用开发4 分析技术指标一系列形态结果

接上一节&#xff0c;我们计算获取了技术指标的结果total_df&#xff0c;结果如下图 我们需要显示股票最近10天的分析结果&#xff0c;对此我们只需要截取total_df前12天数据就可以了。 #获取前12天的数据 total_dftotal_df.iloc[-12:,:] total_df 对应列的数字0&#xff5e;9…