haha
This commit is contained in:
@@ -70,3 +70,179 @@ BB上轨: 1859.33 | 中轨: 1850.90 | 下轨: 1842.47
|
|||||||
BB上轨: 1862.15 | 中轨: 1852.06 | 下轨: 1841.96
|
BB上轨: 1862.15 | 中轨: 1852.06 | 下轨: 1841.96
|
||||||
原因: 价格最高1862.50触及上轨1862.15,BB(10,2.5) (加仓#2/3)
|
原因: 价格最高1862.50触及上轨1862.15,BB(10,2.5) (加仓#2/3)
|
||||||
============================================================
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 06:54:01
|
||||||
|
操作: 翻转: 平空→开多
|
||||||
|
价格: 1854.88
|
||||||
|
BB上轨: 1861.07 | 中轨: 1858.10 | 下轨: 1855.13
|
||||||
|
原因: 价格最低1854.16触及下轨1855.13,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 07:05:18
|
||||||
|
操作: 加仓多#1
|
||||||
|
价格: 1854.10
|
||||||
|
BB上轨: 1860.27 | 中轨: 1857.26 | 下轨: 1854.24
|
||||||
|
原因: 价格最低1854.11触及下轨1854.24,BB(10,2.5) (加仓#1/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 07:12:14
|
||||||
|
操作: 加仓多#2
|
||||||
|
价格: 1851.97
|
||||||
|
BB上轨: 1861.45 | 中轨: 1856.76 | 下轨: 1852.08
|
||||||
|
原因: 价格最低1851.84触及下轨1852.08,BB(10,2.5) (加仓#2/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 08:02:28
|
||||||
|
操作: 加仓多#3
|
||||||
|
价格: 1848.66
|
||||||
|
BB上轨: 1861.19 | 中轨: 1854.98 | 下轨: 1848.77
|
||||||
|
原因: 价格最低1849.00触及下轨1848.77,BB(10,2.5) (加仓#3/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 08:44:44
|
||||||
|
操作: 翻转: 平多→开空
|
||||||
|
价格: 1854.51
|
||||||
|
BB上轨: 1853.90 | 中轨: 1849.13 | 下轨: 1844.37
|
||||||
|
原因: 价格最高1854.50触及上轨1853.90,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 09:07:53
|
||||||
|
操作: 加仓空#1
|
||||||
|
价格: 1859.00
|
||||||
|
BB上轨: 1857.89 | 中轨: 1851.08 | 下轨: 1844.26
|
||||||
|
原因: 价格最高1859.00触及上轨1857.89,BB(10,2.5) (加仓#1/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 09:10:34
|
||||||
|
操作: 加仓空#2
|
||||||
|
价格: 1865.87
|
||||||
|
BB上轨: 1864.29 | 中轨: 1852.44 | 下轨: 1840.58
|
||||||
|
原因: 价格最高1865.87触及上轨1864.29,BB(10,2.5) (加仓#2/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 09:15:11
|
||||||
|
操作: 加仓空#3
|
||||||
|
价格: 1904.57
|
||||||
|
BB上轨: 1897.79 | 中轨: 1857.93 | 下轨: 1818.07
|
||||||
|
原因: 价格最高1905.40触及上轨1897.79,BB(10,2.5) (加仓#3/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 11:16:23
|
||||||
|
操作: 翻转: 平空→开多
|
||||||
|
价格: 1913.80
|
||||||
|
BB上轨: 1932.38 | 中轨: 1922.22 | 下轨: 1912.06
|
||||||
|
原因: 价格最低1911.26触及下轨1912.06,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 11:22:00
|
||||||
|
操作: 加仓多#1
|
||||||
|
价格: 1909.05
|
||||||
|
BB上轨: 1931.22 | 中轨: 1920.13 | 下轨: 1909.05
|
||||||
|
原因: 价格最低1909.00触及下轨1909.05,BB(10,2.5) (加仓#1/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 12:03:03
|
||||||
|
操作: 加仓多#2
|
||||||
|
价格: 1899.08
|
||||||
|
BB上轨: 1916.51 | 中轨: 1908.20 | 下轨: 1899.90
|
||||||
|
原因: 价格最低1898.72触及下轨1899.90,BB(10,2.5) (加仓#2/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 12:05:24
|
||||||
|
操作: 加仓多#3
|
||||||
|
价格: 1899.32
|
||||||
|
BB上轨: 1913.50 | 中轨: 1906.53 | 下轨: 1899.57
|
||||||
|
原因: 价格最低1899.32触及下轨1899.57,BB(10,2.5) (加仓#3/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 12:22:56
|
||||||
|
操作: 翻转: 平多→开空
|
||||||
|
价格: 1911.00
|
||||||
|
BB上轨: 1911.84 | 中轨: 1904.99 | 下轨: 1898.14
|
||||||
|
原因: 价格最高1912.38触及上轨1911.84,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 13:14:17
|
||||||
|
操作: 翻转: 平空→开多
|
||||||
|
价格: 1901.32
|
||||||
|
BB上轨: 1916.59 | 中轨: 1909.31 | 下轨: 1902.03
|
||||||
|
原因: 价格最低1901.17触及下轨1902.03,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 13:22:05
|
||||||
|
操作: 加仓多#1
|
||||||
|
价格: 1896.12
|
||||||
|
BB上轨: 1917.52 | 中轨: 1907.31 | 下轨: 1897.10
|
||||||
|
原因: 价格最低1895.85触及下轨1897.10,BB(10,2.5) (加仓#1/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 14:21:26
|
||||||
|
操作: 翻转: 平多→开空
|
||||||
|
价格: 1894.08
|
||||||
|
BB上轨: 1893.64 | 中轨: 1887.38 | 下轨: 1881.12
|
||||||
|
原因: 价格最高1894.41触及上轨1893.64,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 18:58:38
|
||||||
|
操作: 开多
|
||||||
|
价格: 1909.81
|
||||||
|
BB上轨: 1918.84 | 中轨: 1914.21 | 下轨: 1909.58
|
||||||
|
原因: 价格最低1909.45触及下轨1909.58,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 19:05:46
|
||||||
|
操作: 加仓多#1
|
||||||
|
价格: 1909.10
|
||||||
|
BB上轨: 1917.52 | 中轨: 1913.25 | 下轨: 1908.99
|
||||||
|
原因: 价格最低1908.56触及下轨1908.99,BB(10,2.5) (加仓#1/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 19:11:58
|
||||||
|
操作: 翻转: 平多→开空
|
||||||
|
价格: 1916.64
|
||||||
|
BB上轨: 1916.02 | 中轨: 1912.97 | 下轨: 1909.93
|
||||||
|
原因: 价格最高1917.00触及上轨1916.02,BB(10,2.5)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 19:22:05
|
||||||
|
操作: 加仓空#1
|
||||||
|
价格: 1916.71
|
||||||
|
BB上轨: 1916.29 | 中轨: 1913.25 | 下轨: 1910.22
|
||||||
|
原因: 价格最高1916.72触及上轨1916.29,BB(10,2.5) (加仓#1/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 19:25:13
|
||||||
|
操作: 加仓空#2
|
||||||
|
价格: 1918.97
|
||||||
|
BB上轨: 1918.78 | 中轨: 1913.93 | 下轨: 1909.07
|
||||||
|
原因: 价格最高1918.99触及上轨1918.78,BB(10,2.5) (加仓#2/3)
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
时间: 2026-02-25 19:33:38
|
||||||
|
操作: 加仓空#3
|
||||||
|
价格: 1920.52
|
||||||
|
BB上轨: 1920.45 | 中轨: 1914.37 | 下轨: 1908.30
|
||||||
|
原因: 价格最高1920.52触及上轨1920.45,BB(10,2.5) (加仓#3/3)
|
||||||
|
============================================================
|
||||||
|
|||||||
Binary file not shown.
69
strategy/run_bb_20260223_now.py
Normal file
69
strategy/run_bb_20260223_now.py
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
"""
|
||||||
|
BB(10, 2.5) 均值回归策略回测 — 2026/02/23 ~ 现在,本金 100U
|
||||||
|
完全复现 bb_trade.py 的参数: BB(10,2.5) | 50x | 1%权益/单 | 递增加仓 +1%/次 max=3
|
||||||
|
"""
|
||||||
|
import sys
|
||||||
|
sys.path.insert(0, str(__import__("pathlib").Path(__file__).resolve().parents[1]))
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
from pathlib import Path
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
|
from strategy.bb_backtest import BBConfig, run_bb_backtest
|
||||||
|
from strategy.data_loader import load_klines
|
||||||
|
|
||||||
|
# 加载 2026-02-23 至今天的数据 (end_date 不包含,用明天确保含今天)
|
||||||
|
today = datetime.now().strftime("%Y-%m-%d")
|
||||||
|
END_DATE = (datetime.now() + timedelta(days=1)).strftime("%Y-%m-%d")
|
||||||
|
df = load_klines('5m', '2026-02-23', END_DATE)
|
||||||
|
print(f"数据: 2026-02-23 ~ {today}, 共 {len(df):,} 根 5 分钟 K 线")
|
||||||
|
|
||||||
|
# 配置:完全匹配 bb_trade.py D方案
|
||||||
|
cfg = BBConfig(
|
||||||
|
bb_period=10,
|
||||||
|
bb_std=2.5,
|
||||||
|
leverage=50,
|
||||||
|
initial_capital=100.0, # 本金 100U
|
||||||
|
margin_pct=0.01, # 1% 权益/单
|
||||||
|
pyramid_enabled=True,
|
||||||
|
pyramid_step=0.01, # 递增加仓 +1%/次
|
||||||
|
pyramid_max=3,
|
||||||
|
max_daily_loss=50.0,
|
||||||
|
fee_rate=0.0005,
|
||||||
|
rebate_rate=0.0,
|
||||||
|
rebate_pct=0.90,
|
||||||
|
rebate_hour_utc=0,
|
||||||
|
)
|
||||||
|
|
||||||
|
r = run_bb_backtest(df, cfg)
|
||||||
|
|
||||||
|
# 结果
|
||||||
|
d = r.daily_stats
|
||||||
|
pnl = d["pnl"].astype(float)
|
||||||
|
eq = d["equity"].astype(float)
|
||||||
|
final = float(eq.iloc[-1])
|
||||||
|
dd = float((eq - eq.cummax()).min())
|
||||||
|
ret_pct = (final - cfg.initial_capital) / cfg.initial_capital * 100
|
||||||
|
nt = len(r.trades)
|
||||||
|
wr = sum(1 for t in r.trades if t.net_pnl > 0) / max(nt, 1) * 100
|
||||||
|
|
||||||
|
print("\n" + "=" * 60)
|
||||||
|
print(" 回测结果 (BB 均值回归 | 2026/02/23 ~ 现在 | 本金 100U)")
|
||||||
|
print("=" * 60)
|
||||||
|
print(f" 最终权益: {final:,.2f} U")
|
||||||
|
print(f" 收益: {final - cfg.initial_capital:+,.2f} U ({ret_pct:+.1f}%)")
|
||||||
|
print(f" 最大回撤: {dd:+,.2f} U")
|
||||||
|
print(f" 交易次数: {nt}")
|
||||||
|
print(f" 胜率: {wr:.1f}%")
|
||||||
|
print(f" 总手续费: {r.total_fee:.2f} U")
|
||||||
|
print(f" 总返佣: {r.total_rebate:.2f} U")
|
||||||
|
print("=" * 60)
|
||||||
|
|
||||||
|
# 打印每日收益
|
||||||
|
if len(d) > 1:
|
||||||
|
print("\n每日收益:")
|
||||||
|
for idx, row in d.iterrows():
|
||||||
|
day_str = idx.strftime("%Y-%m-%d") if hasattr(idx, 'strftime') else str(idx)[:10]
|
||||||
|
p = row["pnl"]
|
||||||
|
e = row["equity"]
|
||||||
|
print(f" {day_str}: PnL {p:+.2f} U, 权益 {e:.2f} U")
|
||||||
Reference in New Issue
Block a user