This commit is contained in:
aaron 2026-03-30 01:47:40 +08:00
parent 37b1dc682d
commit bcaba42394
3 changed files with 11 additions and 11 deletions

View File

@ -71,12 +71,12 @@ class PositionManager:
# 使用自定义比例或默认比例 # 使用自定义比例或默认比例
ratios = custom_ratios or { ratios = custom_ratios or {
'heavy': 0.30, 'heavy': 0.18,
'medium': 0.15, 'medium': 0.12,
'light': 0.05 'light': 0.08
} }
size_ratio = ratios.get(position_size, 0.05) size_ratio = ratios.get(position_size, 0.08)
# 计算目标持仓价值 # 计算目标持仓价值
target_position_value = available_position_value * size_ratio target_position_value = available_position_value * size_ratio

View File

@ -13,9 +13,9 @@ from app.utils.logger import logger
DEFAULT_POSITION_SIZE_MARGIN_PCTS: Dict[str, float] = { DEFAULT_POSITION_SIZE_MARGIN_PCTS: Dict[str, float] = {
"micro": 0.01, "micro": 0.01,
"light": 0.03, "light": 0.08,
"medium": 0.05, "medium": 0.12,
"heavy": 0.08, "heavy": 0.18,
} }
DEFAULT_SIGNAL_POSITION_SIZE_BY_TIMEFRAME: Dict[str, str] = { DEFAULT_SIGNAL_POSITION_SIZE_BY_TIMEFRAME: Dict[str, str] = {

View File

@ -103,7 +103,7 @@ def test_medium_term_defaults_to_light_margin_budget():
assert position_size == "light" assert position_size == "light"
assert grade == "B" assert grade == "B"
assert target_pct == pytest.approx(0.03) assert target_pct == pytest.approx(0.08)
def test_total_leverage_cap_is_converted_to_margin_cap(): def test_total_leverage_cap_is_converted_to_margin_cap():
@ -115,7 +115,7 @@ def test_total_leverage_cap_is_converted_to_margin_cap():
current_total_leverage=9.5, current_total_leverage=9.5,
max_total_leverage=10, max_total_leverage=10,
order_leverage=10, order_leverage=10,
target_margin_pct=0.08, target_margin_pct=0.18,
max_margin_pct=0.25, max_margin_pct=0.25,
) )
@ -146,5 +146,5 @@ def test_paper_dynamic_position_uses_equity_pct_instead_of_margin_multiple():
grade="B", grade="B",
) )
assert margin == pytest.approx(1000.0) assert margin == pytest.approx(2400.0)
assert position_value == pytest.approx(10000.0) assert position_value == pytest.approx(24000.0)