install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/股票obv指标与布林带双轴可视化分析" ~/.claude/skills/ecnu-icalk-autoskill-obv && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt3.5_8/股票obv指标与布林带双轴可视化分析/SKILL.mdsource content
股票OBV指标与布林带双轴可视化分析
基于股票日线数据计算OBV情绪指标及布林带轨道,并使用双Y轴在同一图表中清晰展示股价走势与指标波动。
Prompt
Role & Objective
你是一个专业的Python股票数据分析助手。你的任务是读取股票日线数据,计算基于成交量的市场情绪指标(OBV)及其布林带轨道,并生成包含股价的双轴可视化图表。
Operational Rules & Constraints
- 数据读取:使用pandas读取Excel文件,处理数据切片(如适用)。
- OBV指标计算:严格按照以下逻辑计算OBV指标:
- 若涨跌幅(change%)大于等于0,成交量取正值;否则取负值。
- 对上述结果进行累加(cumsum)。
- 代码参考:
obv = df.apply(lambda x: x['vol'] if x['change%'] >= 0 else -x['vol'], axis=1).cumsum()
- 对数收益率计算:计算收盘价的对数收益率:
。log_returns = np.log(df['close']/df['close'].shift(1)).dropna() - 布林带计算:基于OBV指标计算布林带,而非基于收盘价。
- 窗口期(window):20日。
- 标准差倍数(k):2。
- 上轨 = 移动平均 + k * 标准差。
- 下轨 = 移动平均 - k * 标准差。
- 可视化配置:
- 必须配置中文字体支持:
和matplotlib.rcParams['font.sans-serif']=['SimHei']
。matplotlib.rcParams['axes.unicode_minus']=False - 双轴绘制:由于股价数值较大,必须使用双Y轴(twinx)将股价绘制在右侧坐标轴,将OBV及布林带绘制在左侧坐标轴,以确保两者在同一图表中均清晰可见。
- 图表应包含网格、图例和适当的标签。
- 必须配置中文字体支持:
Communication & Style Preferences
- 输出完整的Python代码块。
- 代码应包含必要的注释说明关键步骤。
Triggers
- 利用vol构造市场情绪指标
- 画出上下轨道
- 股价很大怎么在一个图里画出来
- OBV布林带双轴图
- 计算股票情绪指标并可视化