问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于十字星形态的量化交易策略实证研究

创作时间:
作者:
@小白创作中心

基于十字星形态的量化交易策略实证研究

引用
CSDN
1.
https://blog.csdn.net/m0_70414033/article/details/142857003

十字星形态是K线图中的一种重要技术形态,其独特的开盘价等于收盘价的特征使其在技术分析中备受关注。本文将通过实证研究,探讨基于十字星形态的量化交易策略在实际市场中的表现。

十字星是一种K线基本型态。十字星,是一种只有上下影线,没有实体的K线图。开盘价即是收盘价,表示在交易中,股价出现高于或低于开盘价成交,但收盘价与开盘价相等。

形态分析是传统的技术分析手段,但这种手段是否具有实战价值,一直是具有争议的。传统金融学都不太认可。比如,CFA教材只有很少的篇幅介绍。但本着实证的态度,我们选择一个股票进行量化回测分析,看看能不能有一个结果。不管策略是否奏效,都是一种量化策略方法,就是基于形态的量化回测。这是一个简单的版本 ,供各位参考。

建议在Jupyter Notebook 里实现。

import tushare as ts
import talib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 1.获取数据
pro = ts.pro_api('your token')
start_date = '20200101'
end_date = '20231231'
stock_code = '600519.SH'  # 随机选择标的,不具有任何建议
data = pro.daily(ts_code=stock_code, start_date=start_date, end_date=end_date)
data['trade_date'] = pd.to_datetime(data['trade_date'], format='%Y%m%d')
data.set_index('trade_date', inplace=True)
data.sort_index(inplace=True)

# 2计算十字星信号
data['CDL_DOJI'] = talib.CDLDOJI(data['open'], data['high'], data['low'], data['close'])
data['signal'] = np.where(data['CDL_DOJI'] == 100, 1, np.where(data['CDL_DOJI'] == -100, -1, 0))

# 3 回测策略
data['position'] = data['signal'].replace(to_replace=0, method='ffill')  # 持仓策略
data['daily_return'] = data['close'].pct_change()
data['strategy_return'] = data['position'].shift(1) * data['daily_return']
data['cumulative_strategy_return'] = (1 + data['strategy_return']).cumprod() - 1

# 4计算指标
total_return = data['cumulative_strategy_return'].iloc[-1]
max_drawdown = (data['cumulative_strategy_return'].cummax() - data['cumulative_strategy_return']).max()
annualized_return = (1 + total_return)**(365/len(data)) - 1
annualized_volatility = data['strategy_return'].std() * np.sqrt(252)

print(f'总收益率: {total_return:.2%}')
print(f'最大回撤: {max_drawdown:.2%}')
print(f'年化收益率: {annualized_return:.2%}')
print(f'年化波动率: {annualized_volatility:.2%}')

# 5绘图
plt.figure(figsize=(12, 6))
plt.plot(data.index, data['cumulative_strategy_return'], label='策略累计收益率')
plt.title('策略表现')
plt.legend()
plt.show()

回测结果显示:

总收益率: 64.38%
最大回撤: 119.14%
年化收益率: 20.57%
年化波动率: 29.58%

通过与被动持有策略相比,基于十字星的择时策略收益率高达20.57%,显著跑赢标的证券。根据资金曲线的走势,若策略设置一定的止损和止盈,该策略会有更好的收益表现。(仅为回测方法介绍,所选标的和方法不具有投资建议!)

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号