AkShare策略示例分析
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本文小编为大家详细介绍"AkShare策略示例分析",内容详细,步骤清晰,细节处理妥当,希望这篇"AkShare策略示例分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。A
千家信息网最后更新 2025年12月01日AkShare策略示例分析
本文小编为大家详细介绍"AkShare策略示例分析",内容详细,步骤清晰,细节处理妥当,希望这篇"AkShare策略示例分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
AkShare 策略示例
股票策略
下载和安装 BackTrader
from datetime import datetime
import backtrader as bt
import matplotlib.pyplot as plt
import akshare as ak
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
stock_hfq_df = ak.stock_zh_a_daily(symbol="sh700000", adjust="hfq") # 利用 AkShare 一行获取复权数据
class MyStrategy(bt.Strategy):
"""
主策略程序
"""
params = (("maperiod", 20),) # 全局设定交易策略的参数
def __init__(self):
"""
初始化函数
"""
self.data_close = self.datas[0].close # 指定价格序列
# 初始化交易指令、买卖价格和手续费
self.order = None
self.buy_price = None
self.buy_comm = None
# 添加移动均线指标
self.sma = bt.indicators.SimpleMovingAverage(
self.datas[0], period=self.params.maperiod
)
def next(self):
"""
:return:
:rtype:
"""
if self.order: # 检查是否有指令等待执行,
return
# 检查是否持仓
if not self.position: # 没有持仓
if self.data_close[0] > self.sma[0]: # 执行买入条件判断:收盘价格上涨突破20日均线
self.order = self.buy(size=100) # 执行买入
else:
if self.data_close[0] < self.sma[0]: # 执行卖出条件判断:收盘价格跌破20日均线
self.order = self.sell(size=100) # 执行卖出
cerebro = bt.Cerebro() # 初始化回测系统
start_date = datetime(2000, 1, 1) # 回测开始时间
end_date = datetime(2020, 4, 21) # 回测结束时间
data = bt.feeds.PandasData(dataname=stock_hfq_df, fromdate=start_date, todate=end_date) # 加载数据
cerebro.adddata(data) # 将数据传入回测系统
cerebro.addstrategy(MyStrategy) # 将交易策略加载到回测系统中
start_cash = 1000000
cerebro.broker.setcash(start_cash) # 设置初始资本为 100000
cerebro.broker.setcommission(commission=0.002) # 设置交易手续费为 0.2%
cerebro.run() # 运行回测系统
port_value = cerebro.broker.getvalue() # 获取回测结束后的总资金
pnl = port_value - start_cash # 盈亏统计
print(f"初始资金: {start_cash}\n回测期间:{start_date.strftime('%Y%m%d')}:{end_date.strftime('%Y%m%d')}")
print(f"总资金: {round(port_value, 2)}")
print(f"净收益: {round(pnl, 2)}")
cerebro.plot(style='candlestick') # 画图结果
初始资金: 1000000
回测期间:20000101:20200421
总资金: 1010238.65
净收益: 10238.65读到这里,这篇"AkShare策略示例分析"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
策略
资金
示例
价格
系统
交易
分析
均线
数据
文章
内容
手续
手续费
指令
收益
时间
条件
检查
妥当
一行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海弦收音机服务器更新
轻量应用服务器搭建k8s集群
银行加强网络安全工作的意见
安卓运用软件开发
阿里云服务器远程桌面文件属性
伪造服务器ip
用什么工具安装服务器系统
美萍美发管理系统服务器名称
厦门服务器租用
进销存软件开发公司排名
任丘市委网络安全委员会
韩冰教授互联网科技
软件开发工具有哪些好听的网名
阿里云ecs服务器体验总结
福昕软件开发有限公司怎么样
云服务器多大带宽
软件开发做施工员
数据库表建模工具
网络安全没前途
上海运营网络技术优势
这台服务器的配置是远程管理
佛山无线软件开发维修电话
河南郑周互联网科技有限公司
云计算和网络安全有关系吗
数据库安全的工作
软件开发简历要放照片吗
数据库运用技术的实训报告
小学生网络安全知识答题简报
洛阳泊昱鼎网络技术有限公司
网络式数据库的特点