一、宝塔线指标TOWER简介
-
初始化:选择一个初始值,通常为零或市场的平均价格。
-
计算宝塔线:对于每个新的周期,根据以下规则更新宝塔线值:
如果当前周期的收盘价高于前一周期的收盘价,宝塔线增加一个固定值(例如1);如果当前周期的收盘价低于前一周期的收盘价,宝塔线减少一个固定值。
二、交易信号的生成
-
买入信号:当TOWER指标从负值区域上升穿过零线时,可能表示市场动能转向正面,是一个潜在的买入信号。
-
卖出信号:当TOWER指标从正值区域下降穿过零线时,可能表示市场动能转向负面,是一个潜在的卖出信号。
三、TOWER宝塔线指标策略量化实战

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 假设df是包含股票收盘价的DataFrame
def calculate_tower(df):
tower = np.zeros(len(df))
for i in range(1, len(df)):
if df['Close'][i] > df['Close'][i-1]:
tower[i] = tower[i-1] + 1
elif df['Close'][i] < df['Close'][i-1]:
tower[i] = tower[i-1] - 1
return pd.Series(tower, index=df.index)
# 计算TOWER指标
tower_values = calculate_tower(df)
# 生成交易信号
df['Signal'] = 0
df['Signal'][tower_values > 0] = 1 # 买入信号
df['Signal'][tower_values < 0] = -1 # 卖出信号
# 绘制TOWER指标和交易信号
plt.figure(figsize=(14, 7))
plt.plot(df['Close'], label='Close Price', alpha=0.5)
plt.plot(tower_values, label='TOWER', linestyle='-.')
plt.plot(df[df['Signal'] == 1].index, df['Close'][df['Signal'] == 1], '^', markersize=10, color='green', label='Buy Signal')
plt.plot(df[df['Signal'] == -1].index, df['Close'][df['Signal'] == -1], 'v', markersize=10, color='red', label='Sell Signal')
plt.legend()
plt.show()
-
策略回测
四、结语
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/106018
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!