网站首页 > 博客文章 正文
以下用于展示如何使用BOLL和CII指标结合的组合交易策略:
import numpy as np
import pandas as pd
import talib
# 读取历史价格数据
data = pd.read_csv('historical_data.csv') # 假设价格数据存储在historical_data.csv文件中
# 计算BOLL指标
data['upper_band'], data['middle_band'], data['lower_band'] = talib.BBANDS(data['close'], timeperiod=20)
# 计算CII指标
cii = talib.CMO(data['close'], timeperiod=14)
# 初始化交易信号
data['signal'] = 0
# 制定交易策略
for i in range(1, len(data)):
# 判断CII指标,确认交易方向
if cii[i] > 0:
trend = 'up'
else:
trend = 'down'
# 在上涨趋势中,当股价触及布林带下轨时,买入
if trend == 'up' and data['close'][i] < data['lower_band'][i]:
data['signal'][i] = 1 # 买入信号为1
# 在下跌趋势中,当股价触及布林带上轨时,卖出
elif trend == 'down' and data['close'][i] > data['upper_band'][i]:
data['signal'][i] = -1 # 卖出信号为-1
# 根据交易信号计算持仓和收益
data['position'] = data['signal'].diff()
data['returns'] = np.log(data['close']/data['close'].shift(1))
data['strategy_returns'] = data['position'].shift(1) * data['returns']
# 统计收益
total_returns = data['strategy_returns'].cumsum()
annualized_returns = total_returns[-1] * 252 / len(data)
sharpe_ratio = np.sqrt(252) * (data['strategy_returns'].mean() / data['strategy_returns'].std())
print("年化收益率:", annualized_returns)
print("夏普比率:", sharpe_ratio)
# 可以进一步进行结果的可视化和参数的优化等操作
请注意,以上代码仅为示例,实际使用时需要根据具体的数据和策略进行参数的优化和调整。另外,需要安装TA-Lib库来计算BOLL和CII指标,可以使用pip install TA-Lib进行安装。
猜你喜欢
- 2024-11-10 BingChat试图教我量化分析,被我无情拒绝了
- 2024-11-10 使用Python示例代码实现KDJ和CCI指标的简单组合交易策略
- 2024-11-10 从零打造智能交易系统:零 VNPY环境搭建
- 2024-11-10 pybroker-创业板-单标的-动量择时策略年化18.7%,最大回测18.3%
- 2024-11-10 神经网络变得轻松(第十四部分):数据聚类
- 2024-11-10 量化交易-特征分析(量化交易模型有哪些)
- 2024-11-10 安装量化分析库talib,超级简单(量化分析pdf)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)