mirror of
https://github.com/QuantEngines/fx_quant_engine.git
synced 2026-07-29 03:17:46 +00:00
Initial commit: fx_quant_engine and options_quant_engine scaffold
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from pathlib import Path
|
||||
|
||||
from options_quant_engine import OptionsQuantEngine
|
||||
|
||||
|
||||
def test_engine_signal_schema() -> None:
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
engine = OptionsQuantEngine(config_dir=root / "config")
|
||||
end = datetime.now(timezone.utc)
|
||||
start = end - timedelta(days=200)
|
||||
|
||||
out = engine.run_asset("USDINR", start, end)
|
||||
signal = out["signal"]
|
||||
|
||||
required = {
|
||||
"engine",
|
||||
"timestamp",
|
||||
"asset",
|
||||
"signal_type",
|
||||
"signal_direction",
|
||||
"signal_strength",
|
||||
"confidence",
|
||||
"regime",
|
||||
"expected_volatility",
|
||||
"risk_flags",
|
||||
"drivers",
|
||||
"recommended_action",
|
||||
"position_sizing_multiplier",
|
||||
}
|
||||
assert required.issubset(signal.keys())
|
||||
assert 0.0 <= signal["signal_strength"] <= 1.0
|
||||
assert 0.0 <= signal["confidence"] <= 1.0
|
||||
|
||||
|
||||
def test_engine_relative_value_schema() -> None:
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
engine = OptionsQuantEngine(config_dir=root / "config")
|
||||
end = datetime.now(timezone.utc)
|
||||
start = end - timedelta(days=200)
|
||||
|
||||
out = engine.run_relative_value("USDINR", "EURINR", start, end)
|
||||
assert "hedge_ratio" in out
|
||||
assert "spread_zscore" in out
|
||||
assert "signal" in out
|
||||
assert 0.0 <= out["signal"]["signal_strength"] <= 1.0
|
||||
Reference in New Issue
Block a user