发布时间:2026/8/24 12:31:11
[Python]​基于Python的A股双均线策略开发与量化开发交易实践指南 目录前情回顾​编辑数据获取与处理​编辑策略开发环境配置​编辑双均线策略实现基础策略结构回测框架集成性能优化要点​编辑完整工作流程前情回顾搭建好基础的Python执行模块后开始补充股票策略、接入实际A股市场的数据集。下面是使用Pycharm调试器执行的双均线交易策略的界面展示。Fig1.双均线策略前端界面Fig.2 策略回测Python运行终端数据获取与处理安装AKShare库获取A股数据pip install akshare配置稳定数据获取方案import akshare as ak stock_data ak.stock_zh_a_hist( symbol000001, perioddaily, start_date20230101, end_date20231231, adjustqfq )实现本地缓存机制import pandas as pd import os def get_cached_data(file_path): if os.path.exists(file_path): return pd.read_csv(file_path) data ak.stock_zh_a_hist(...) data.to_csv(file_path) return data环节一获取A股票所有数据。首先安装akshare三方库。接着导入akshare三方库。import akshare as ak策略开发环境配置如何在旧版本中开发“开始补充股票策略、接入实际A股市场的数据集”的功能首先得处理版本差异的隔离问题于是先写一个Demo验证宏分隔逻辑的正确性下面为验证输出界面。Fig.4 Python宏语法Demo此时23年学习的Python基础开始发挥作用既然Python是通过Tab*n缩进来分隔语义块的那么“如何将历史代码批量放入else宏模块”便有迹可循。首先在 PyCharm 中用来一键美化格式化Python 代码的快捷键是操作系统快捷键组合Windows / LinuxCtrl Alt LmacOSCmd Option L然后全选--Tab键将历史代码批量移入else语义块成功。正当准备编译python ProgrammerWPS旧版出现兼容错误且无法卸载。触发CMD控制语句杀死所有WPS进程PyCharm代码格式化快捷键Windows: CtrlAltLmacOS: CmdOptionL处理旧版本兼容问题taskkill /f /im wps.exe /im wpscenter.exe双均线策略实现基础策略结构# 示例代码框架 class DualMovingAverageStrategy: def __init__(self, short_window5, long_window20): self.short_ma short_window self.long_ma long_window def generate_signals(self, data): data[short_ma] data[close].rolling(self.short_ma).mean() data[long_ma] data[close].rolling(self.long_ma).mean() data[signal] 0 data.loc[data[short_ma] data[long_ma], signal] 1 return data环节二进行双均线策略回测。数据板块datetime open close high low volume0 2026-01-01 100.883183 100.622211 102.024751 100.622211 83701 2026-01-02 101.600693 101.878001 102.702161 101.042040 54662 2026-01-03 102.039085 103.172353 103.891608 101.306357 97293 2026-01-04 103.315741 104.993927 104.993927 101.017948 54764 2026-01-05 104.555795 104.721134 104.863435 103.018389 8575策略板块datetime open close ... Signal Daily_Return Strategy_Return190 2026-07-10 59.546354 59.645863 ... 1 0.032662 0.032662191 2026-07-11 58.894652 58.394644 ... 0 -0.020977 -0.020977192 2026-07-12 60.537032 60.403046 ... 0 0.034394 0.000000193 2026-07-13 59.810484 60.074738 ... 0 -0.005435 -0.000000194 2026-07-14 60.669199 59.751485 ... 0 -0.005381 -0.000000195 2026-07-15 57.821111 58.322093 ... 0 -0.023922 -0.000000196 2026-07-16 58.492415 58.890667 ... 0 0.009749 0.000000197 2026-07-17 58.073435 58.112769 ... 0 -0.013209 -0.000000198 2026-07-18 59.177274 60.360820 ... 0 0.038684 0.000000199 2026-07-19 57.603496 57.776188 ... 0 -0.042820 -0.000000[10 rows x 11 columns]指标板块策略累计收益率: 99.09%基准(买入持有)累计收益率: 62.37%策略最大回撤: -8.65%策略夏普比率: 0.0177交易明细 买入日期 买入价格 卖出日期 卖出价格 毛收益率 净收益率 持仓天数2026-02-17 80.21 2026-02-26 77.26 -3.68% -3.74% 92026-03-15 78.80 2026-03-23 76.72 -2.64% -2.70% 82026-05-12 64.12 2026-05-23 63.54 -0.91% -0.97% 112026-06-19 55.15 2026-07-11 58.34 5.78% 5.72% 22 交易统计分析 总交易次数: 4胜率: 25.00%平均每笔净收益率: -0.42%盈亏比: 231.58%最大单笔盈利: 0.0572最大单笔亏损: -0.0374平均持仓天数: 12.5000展示板块回测框架集成Backtrader基础配置import backtrader as bt class DualMACrossover(bt.Strategy): params ( (short_period, 5), (long_period, 20) ) def __init__(self): self.short_ma bt.indicators.SMA(periodself.p.short_period) self.long_ma bt.indicators.SMA(periodself.p.long_period) self.crossover bt.indicators.CrossOver(self.short_ma, self.long_ma)环节三backtrader的回测用法。有兴趣的关注后续更新可参考下面相关链接进行了解。Backtrader 官网https://www.backtrader.com/docu/plotting/plotting/原文链接https://blog.csdn.net/xiaowu1997/article/details/122629350性能优化要点请求频率控制方案import time import random time.sleep(random.uniform(0.5, 2)) # 随机延时代理IP配置方法proxies { http: http://proxy_ip:port, https: https://proxy_ip:port }为了能稳定且长期使用akshare三方库需要注意下面几点1.东方财富的接口stock_zh_a_hist ak.stock_zh_a_hist(symbol000001, perioddaily, start_date20230101, end_date20231231, adjustqfq)2.加入延时import time time.sleep(1) # 每次请求间隔1秒以上 #替代方案 import random time.sleep(random.uniform(0.5, 2)) # 随机延时3.使用代理 IPproxies { http: http://你的代理IP:端口, https: https://你的代理IP:端口 }4.缓存数据import pandas as pd # 首次获取后保存到本地 df.to_csv(stock_data.csv, encodingutf-8-sig) # 下次优先读取本地文件读取本地CSV文件的代码如下## 基础读取 import pandas as pd # 读取之前保存的CSV文件 df pd.read_csv(stock_data.csv, encodingutf-8-sig) # 查看数据 print(df.head()) print(df.info()) ## 完整的优先读取本地文件的逻辑 import pandas as pd import os # 文件路径 file_path stock_data.csv # 判断文件是否存在 if os.path.exists(file_path): # 优先读取本地文件 df pd.read_csv(file_path, encodingutf-8-sig) print(从本地文件读取成功) else: # 本地文件不存在从网络获取 import akshare as ak df ak.stock_zh_a_hist(symbol000001, perioddaily, start_date20230101, end_date20231231, adjustqfq) # 保存到本地 df.to_csv(file_path, encodingutf-8-sig, indexFalse) print(从网络获取并保存到本地)## 带数据时效性检查的版本 import pandas as pd import os import time from datetime import datetime file_path stock_data.csv cache_days 1 # 缓存有效期天数 def get_stock_data(): # 检查本地文件是否存在且未过期 if os.path.exists(file_path): file_modified os.path.getmtime(file_path) days_old (time.time() - file_modified) / 86400 if days_old cache_days: df pd.read_csv(file_path, encodingutf-8-sig) print(f使用缓存数据{datetime.fromtimestamp(file_modified).strftime(%Y-%m-%d)}) return df # 本地文件不存在或已过期重新获取 print(正在从网络获取最新数据...) import akshare as ak df ak.stock_zh_a_hist(symbol000001, perioddaily, start_date20230101, end_date20231231, adjustqfq) df.to_csv(file_path, encodingutf-8-sig, indexFalse) print(数据已更新并保存到本地) return df # 使用 df get_stock_data() ## 常用参数说明 # 基本读取 df pd.read_csv(stock_data.csv, encodingutf-8-sig) # 常用参数 df pd.read_csv( stock_data.csv, encodingutf-8-sig, # 编码格式与保存时一致 index_col0, # 将第0列设为索引 parse_dates[日期], # 将日期列解析为datetime类型 dtype{股票代码: str} # 指定列的数据类型 )5.错峰访问交易时间表完整工作流程通过AKShare获取实时/历史行情数据实现本地缓存和自动更新机制开发双均线策略核心逻辑使用Backtrader进行策略回测优化请求频率和异常处理机制生成可视化回测报告和绩效指标在发现复制大段文字能自动粘贴原文链接前进行了“如何转载他人的文章”的一个尝试首先打开目标文章在浏览器中打开需要被转载的CSDN文章。然后按下F12键打开开发者模式。接着定位正文代码在开发者工具中找到“元素”(Elements)标签页使用快捷键 CtrlF 打开搜索框输入article_content 进行搜索。最后复制HTML代码找到 idarticle_content 或 idcontent_views 的代码块。下面是F12模式的操作界面。Fig.3 目标文章的开发者模式参考量化流程环节继续开展独立研究。下图为量化全流程图。原文链接量化交易全面入门指南2025最新版_量化交易入门-CSDN博客Fig.5 量化全流程图

相关新闻

2026/8/24 12:31:11

ComfyUI集成JoyCaption模型:提升动漫图片标签生成精度

在 Stable Diffusion 工作流中,为图片生成精准的描述标签(Tag)是提升后续文生图、图生图效果的关键一步。许多朋友在使用 ComfyUI 时,可能都遇到过这样的困扰:内置的 CLIP 反推模型对复杂画面和中文语义的理解不够深入…

2026/8/24 12:31:11

Codex大项目实战:AI编程助手集成与高效开发指南

在大型软件开发项目中,团队协作、代码质量和开发效率是决定成败的关键。随着AI辅助编程工具的兴起,Codex等智能代码生成模型正在深刻改变开发流程。然而,将这类工具无缝集成到复杂项目开发中,并发挥其最大效能,绝非简单…

2026/8/24 12:26:10

SAP S/4HANA ABAP开发实战指南:从CDS、RAP到性能优化

最近在整理SAP S/4HANA ABAP开发相关的学习资料时,发现很多朋友对如何系统性地入门和进阶感到迷茫。网上的资料要么过于零散,要么版本陈旧,难以跟上S/4HANA的技术革新。本文将结合最新的技术趋势和一线开发经验,为你梳理一份从零到…

2026/8/24 14:46:28

美团:元Harness优化长程智能体设计

📖标题:AutoDesign: Meta-Harness Optimization for Long-Horizon Agentic Design 🌐来源:arXiv, 2608.13560v1 🛎️文章简介 🔸研究问题:如何将多模态源转化为结构化输出时,使系统能…

2026/8/24 14:46:28

基于SpringBoot德育家校共建平台系统(源码+讲解视频+LW)

联系博主 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 …

2026/8/24 14:46:28

几个vivo的高端机型充电架构

几个vivo高端机型充电架构X80 80W有线充电 特点之一是不用MTK自带的MT6735来做Buck-Boost 充电,外部加MP2762A来做。MT6735要从MAX77932后取电。2.X80 Pro 80W有线充电50W无线充电3.Xnote 80W有线充电50W无线充电4.X90 120W有线充电5.X90 Pro 120W有线充电50W无线充…

2026/8/24 14:46:28

iPhone没网也能录音的APP推荐:离线录音功能真实体验

有没有过这种情况?政企线下会场信号屏蔽,户外采访走到山区没信号,地下室做项目验收手机直接断网,打开常用的录音APP,要么录到一半闪退,要么录完的音频不能本地存储,要等联网才能同步&#xff0c…

2026/8/24 0:07:22

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 1:12:32

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 1:09:25

3条命令跑通LocalAI:无GPU本地AI引擎部署

3条命令跑通LocalAI:无GPU本地AI引擎部署 【免费下载链接】LocalAI LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required. 项目地址: https://gitcode.com/GitHub_Trending/lo/LocalAI…

2026/8/24 1:09:25

AI推理性能测试怎么做:MLPerf Inference完整上手指南

AI推理性能测试怎么做:MLPerf Inference完整上手指南 【免费下载链接】inference Reference implementations of MLPerf inference benchmarks 项目地址: https://gitcode.com/gh_mirrors/inf/inference 同一个模型换一张卡,速度快多少你知道吗&a…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/23 6:14:43

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/23 4:22:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…