wyckoff-trading について
このスキルは、威科夫メソッドに基づいて株価と出来高を分析し、A株の過去データ取得に Baostock を指定しています。市場フェーズや売買シグナルを見極め、エントリー、決済、リスク管理をレポートにまとめます。
主な機能
- 01BaostockによるA株の過去データ取得
- 02蓄積・分配フェーズの識別
- 03SpringやUTなどのシグナル認識
- 049つの買い条件によるエントリー評価
- 05損切りとポジション管理ルールの適用
活用シーン
- 01A株の過去K線データの分析
- 02銘柄の市場フェーズの判定
- 03威科夫の売買シグナル候補の確認
- 04リスク管理を含む取引計画の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ cyrainfall/ skills --skill wyckoff-tradingインストール後、Claude Code で/wyckoff-tradingを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonscripts/data_api.py
詳細
ワイコフのトレード手法
このスキルは、ワイコフ・メソッド(Wyckoff Method)に基づいて株価の動きを分析し、市場の局面を特定して売買ポイントを判断するのに役立ちます。
主な機能
- データ取得 - REST API または WebSocket を通じて、リアルタイム/過去の相場データを取得します
- 構造の特定 - 買い集め局面(Accumulation)、分配局面(Distribution)、レンジ相場(Trading Range)を特定します
- シグナルの判断 - Spring、JAC、UT、Shakeout など、ワイコフの代表的なシグナルを特定します
- 売買判断 - 9つの買い条件に基づいて、取引の提案を行います
データ取得モジュール
このスキルは Baostock ライブラリを使用してA株の株価データを取得します
インストール
pip install baostock pandas
データ取得
Baostock はA株向けに設計されたオープンソースのデータベースです。登録不要で、安定したデータを提供します。
import baostock as bs
import pandas as pd
def get_kline_data(stock_code, period='daily', limit=200):
"""获取历史K线数据用于威科夫分析
Args:
stock_code: 股票代码,如 '300435'(深圳创业板)或 '600519'(上海主板)
period: 日('daily')/周('weekly')/月('monthly')
limit: 获取天数
Returns:
list: K线数据字典列表
"""
# 转换股票代码格式
if stock_code.startswith('6'):
code = f'sh.{stock_code}'
else:
code = f'sz.{stock_code}'
# 计算日期范围
end_date = pd.Timestamp.now().strftime('%Y-%m-%d')
start_date = (pd.Timestamp.now() - pd.Timedelta(days=limit*2)).strftime('%Y-%m-%d')
# 登录获取数据
bs.login()
rs = bs.query_history_k_data_plus(
code,
'date,code,open,high,low,close,volume,amount,pctChg',
start_date=start_date,
end_date=end_date,
frequency='d'
)
data_list = []
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
bs.logout()
if data_list:
df = pd.DataFrame(data_list, columns=rs.fields)
df = df.rename(columns={
'date': 'trade_time', 'open': 'open', 'close': 'close',
'high': 'high', 'low': 'low', 'volume': 'volume',
'amount': 'amount', 'pctChg': 'pct_chg'
})
# 转换数据类型
df['close'] = df['close'].astype(float)
df['volume'] = df['volume'].astype(float)
df['high'] = df['high'].astype(float)
df['low'] = df['low'].astype(float)
return df.to_dict('records')
return []
def get_index_data(index_code='sh.000001', limit=200):
"""获取大盘指数数据
Args:
index_code: 指数代码,如 'sh.000001'(上证指数)、'sz.399001'(深证成指)
limit: 获取天数
"""
end_date = pd.Timestamp.now().strftime('%Y-%m-%d')
start_date = (pd.Timestamp.now() - pd.Timedelta(days=limit*2)).strftime('%Y-%m-%d')
bs.login()
rs = bs.query_history_k_data_plus(
index_code,
'date,code,open,high,low,close,volume,amount,pctChg',
start_date=start_date,
end_date=end_date,
frequency='d'
)
data_list = []
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
bs.logout()
if data_list:
df = pd.DataFrame(data_list, columns=rs.fields)
return df.to_dict('records')
return []
def get_stock_basics():
"""获取所有A股股票基本信息"""
bs.login()
rs = bs.query_stock_basic()
data_list = []
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
bs.logout()
return pd.DataFrame(data_list, columns=rs.fields)
ワイコフ分析フレームワーク
市場局面の特定
| 局面 | 特徴 | 取引方針 |
|---|---|---|
| 買い集め (Accumulation) | 価格が低位で横ばいとなり、出来高が減少した後に増加 | 買いの準備 |
| 上昇 (Markup) | 上昇トレンドで、出来高が伴う | 保有/買い増し |
| 分配 (Distribution) | 価格が高値圏で横ばいとなり、出来高が増加した後に減少 | 売りの準備 |
| 下落 (Markdown) | 下降トレンドで、出来高が増加 | 様子見/空売り |
重要な概念
- SC (Selling Climax) - パニック売りの安値で、通常は大商いを伴います
- BC (Buying Climax) - 熱狂的な買いの高値で、通常は大商いを伴います
- AR (Automatic Rally) - 自動反発。売り圧力を試します
- ST (Secondary Test) - 二次テスト。サポート/レジスタンスを確認します
- SOS (Sign of Strength) - 強さのサイン。出来高を伴う上昇で上抜けます
- SOW (Sign of Weakness) - 弱さのサイン。出来高を伴って下落します
- LPS (Last Point of Support) - 最後のサポートポイント。押し目の安値です
- UT (Upthrust) - 上昇後に反落し、レジスタンスを試した後に下落します
- UTAD (Upthrust After Distribution) - 分配後の上昇と反落です
ワイコフの各局面の詳細
買い集め局面(Accumulation)の詳細な手順
Phase A(初始阶段)
├── SC:恐慌抛售,成交量放大,价格创新低
├── AR:自动反弹,测试卖压
├── ST:二次测试,验证SC支撑
└── 特征:成交量逐渐萎缩
Phase B(建仓阶段)
├── 区间震荡:价格在上轨和SC低点之间波动
├── ST测试:多次测试SC支撑位
├── 缩量回调:每次回调成交量萎缩
└── 特征:波动幅度逐渐收窄
Phase C(测试阶段)
├── Spring:快速下破支撑后迅速收回(核心买入信号)
├── Shakeout:震仓,打压吸筹
└── 特征:出现明显买入信号
Phase D(突破阶段)
├── SOS:放量突破区间上轨(强势信号)
├── 回踩:缩量回落至区间上轨附近
├── LPS:最后的支撑点,回调不破前低
└── 特征:趋势向上确立
Phase E(离开阶段)
├── 价格上涨:离开吸筹区
├── 成交量放大:需求主导
└── 特征:进入上涨趋势
分配局面(Distribution)の詳細な手順
Phase A(初始阶段)
├── BC:疯狂买入,成交量放大,价格创新高
├── AR:自动回落,测试买压
├── ST:二次测试,验证BC阻力
└── 特征:成交量开始萎缩
Phase B(派发阶段)
├── 区间震荡:价格在下轨和BC高点之间波动
├── UT:上冲回落,测试阻力
├── UTAD:派发后的上冲回落
└── 特征:波动幅度逐渐收窄
Phase C(派发确认)
├── UT:价格短暂突破区间上轨后回落
├── SOW:弱势信号,放量下跌
└── 特征:跌破区间下沿
Phase D(下跌确认)
├── SOS:放量下跌(假突破后反转)
├── 反弹无力:每次反弹高点降低
└── 特征:趋势向下确立
Phase E(离开阶段)
├── 价格下跌:离开派发区
├── 成交量放大:供应主导
└── 特征:进入下跌趋势
ワイコフのシグナル体系の詳細
買いシグナルの詳細
1. スプリング効果 (Spring)
買い集め局面の終盤に見られる代表的な買いシグナルです:
判断条件:
1. 背景:价格处于横盘交易区下半部分或支撑位
2. 下破:价格短暂、快速跌破支撑区低点(制造恐慌)
3. 收回:价格迅速被拉回区间内,收盘价站稳支撑之上
4. 成交量:下跌时可能放量(恐慌盘),收回后不再创新低
5. 确认:随后缩量回调得到支撑
验证标准:
- 收盘价必须回到支撑位上方
- 随后3-5天内不再创新低
- 成交量在收回后萎缩
2. 小川越え (JAC - Jump Across the Creek)
レジスタンスを突破した後の押し目買いポイントです:
判断条件:
1. 识别"小溪":前期高点形成的水平阻力位
2. 突破:出现长阳线且成交量显著放大(需求吸收所有供应)
3. 回踩:价格缩量回落至突破前的平台附近
4. 确认:回踩时成交量极度萎缩(供应枯竭)
3. 振るい落とし (Shakeout)
Spring に似ていますが、より積極的な動きです:
判断条件:
1. 背景:长期横盘后的吸筹阶段
2. 快速下跌:短期内的急剧下挫,制造"派发"假象
3. 迅速收回:很快拉回并创新高
4. 成交量:下跌时巨量,收回后缩量
4. 自動反発 (AR)
SC の後の反発を試します:
判断条件:
1. 背景:SC之后出现
2. 反弹幅度:通常反弹幅度较大
3. 成交量:可能放大
4. 意义:测试卖压强度
5. 二次テスト (ST)
サポート/レジスタンスを確認する重要なシグナルです:
判断条件:
1. 背景:AR之后,价格再次测试SC或BC
2. 位置:接近SC低点或BC高点
3. 成交量:应该萎缩(验证支撑/阻力有效)
4. 意义:确认供需关系转变
強さ/弱さのシグナル
SOS (Sign of Strength) - 強さのサイン
判断条件:
1. 放量上涨:成交量明显放大
2. 收盘价:收在日内高点或接近高点
3. 背景:出现在回调之后
4. 意义:需求强劲,看涨
SOW (Sign of Weakness) - 弱さのサイン
判断条件:
1. 放量下跌:成交量明显放大
2. 收盘价:收在日内低点或接近低点
3. 背景:出现在反弹之后
4. 意义:供应强劲,看跌
LPS (Last Point of Support) - 最後のサポートポイント
判断条件:
1. 位置:上涨趋势中的回调低点
2. 成交量:萎缩
3. 不破前低:高于前期低点
4. 意义:可能再次上涨
売りシグナルの詳細
UT (Upthrust)
分配局面の売りシグナルです:
判断条件:
1. 背景:长期上涨后或高位横盘区间
2. 上冲:价格短暂突破区间上轨或前期高点
3. 回落:价格迅速跌回区间内,收盘价疲软
4. 成交量:突破时可能伴随巨量(主力派发)
5. 确认:后续跌破区间下沿(SOW)→ 卖出或做空
UTAD (Upthrust After Distribution)
分配完了後の上昇と反落です:
判断条件:
1. 背景:派发区形成后
2. 上冲:价格突破派发区上轨
3. 回落:收盘价收在低位
4. 确认:随后跌破派发区下沿
5. 意义:趋势反转信号
分配局面の特徴
- 価格がレンジ内で上下に動きます
- 上昇するたびに高値が徐々に切り下がります(トレンドラインが下降します)
- 高値圏では出来高が増加し、安値圏では減少します
- UT シグナルの後、レンジの下限を下抜けます
トレンドライン分析
トレンドラインの描画原則
上涨趋势线:
- 连接两个或以上依次抬高的低点
- 价格应在趋势线上方运行
- 跌破趋势线可能预示回调
下跌趋势线:
- 连接两个或以上依次降低的高点
- 价格应在趋势线下方运行
- 突破趋势线可能预示反转
ワイコフ分析におけるトレンドラインの活用
吸筹区趋势线特征:
- 上涨时突破下降趋势线
- 回踩不跌破前期低点
- 趋势线角度逐渐陡峭
派发区趋势线特征:
- 下跌时突破上升趋势线
- 反弹不过前期高点
- 趋势线角度逐渐平缓
出来高と価格の関係の分析
出来高による確認の原則
量价配合(健康信号):
├── 上涨时放量:需求跟进
├── 下跌时缩量:供应枯竭
├── 突破时放量:有效突破
└── 回调时缩量:回调可能结束
量价背离(危险信号):
├── 上涨时缩量:需求不足
├── 下跌时放量:供应强劲
├── 突破时缩量:假突破
└── 反弹时放量:可能继续下跌
出来高のパターン
吸筹区成交量特征:
├── 初期:SC时巨量
├── 中期:逐渐萎缩
├── 后期:突破时放量
└── 整体:低位缩量,高位放量
派发区成交量特征:
├── 初期:BC时巨量
├── 中期:高位放大
├── 后期:下跌时放量
└── 整体:高位放量,低位缩量
9つの買い条件
買いを入れる前に、できるだけ多くの条件を満たすことを目指します:
- トレンドの確認 - 市場全体のトレンドが上向きです(指数データを使って判断します)
- 相対的な強さ - 個別株が市場全体を上回っています(RS ラインが上向きです)
- レンジ相場 - 個別株が横ばいのレンジ(買い集め局面)を形成しています
- 原因の法則 - レンジでの保ち合いが十分に長く続いています
- 最終的な振るい落とし - Spring または振るい落としが発生しています
- 強さへの転換シグナル - 出来高を伴う上昇の SOS が発生しています
- 最後のサポート - 出来高を伴わない押し目の LPS が発生しています
- 悪材料がないこと - 市場に突発的な重大な悪材料がありません
- 市場全体との連動 - 市場指数も買い集め局面、または上昇の初期段階にあります
条件を満たすごとに、買いの勝率が高まります。
リスク管理
損切りの設定
- Spring で買う場合:損切りを Spring の安値の下に設定します
- JAC で買う場合:損切りを「小川」(レジスタンス)の下に設定します
- UT で売る場合:損切りを UT の高値の上に設定します
ポジション管理
- 買い条件を5~6個満たす場合:ポジション比率は30%
- 買い条件を7~8個満たす場合:ポジション比率は50%
- 買い条件を9個すべて満たす場合:ポジション比率は70%
手仕舞い戦略
- SOW シグナルが発生したら、ポジションを減らします
- 重要なサポートを下抜けたら、ポジションをすべて手仕舞います
- 目標利益に達したら、分割して売却します
出力形式
分析が完了したら、次の形式で出力します:
## 股票分析报告:[股票代码]
### 一、市场阶段判断
- 当前阶段:吸筹/上涨/派发/下跌
- 置信度:高/中/低
### 二、关键信号
[列出识别到的信号及日期]
### 三、买入/卖出建议
- 信号类型:Spring / JAC / UT / ...
- 入场价:XXX
- 止损价:XXX
- 止盈价:XXX
- 仓位建议:X%
### 四、九大检验结果
1. 趋势检验:✓/✗
2. 相对强势:✓/✗
...
### 五、风险提示
[说明当前风险]
注意事項
- データを優先する - ワイコフ分析は客観的な価格・出来高データに基づきます。主観的な推測に頼らないでください
- トレンドに従う - 市場全体のトレンドに沿った株を優先して選びます
- 辛抱強く待つ - 良い買いポイントを待つ必要があります。頻繁に取引しないでください
- 厳格に実行する - 損切りを設定したら必ず実行し、途中で変更しないでください
- 継続的に学ぶ - ワイコフ・メソッドを習得するには、十分な実践が必要です
- データソース - このスキルは Baostock を使ってデータを取得し、過去のローソク足分析に対応しています。リアルタイム相場には、他のインターフェースを併用できます
コメント
Markdown 対応