공식 레지스트리와 생성물 동기화

This commit is contained in:
2026-06-18 01:48:00 +09:00
parent 3afca069df
commit fee8131d5d
247 changed files with 2690 additions and 1469 deletions
@@ -31,8 +31,8 @@ def write_text(path: Path, text: str) -> None:
def build_stub(formula_id: str, spec: dict[str, Any]) -> str:
inputs = spec.get("inputs") or []
outputs = spec.get("outputs") or spec.get("output_fields") or []
owner = spec.get("owner", "TODO_REQUIRED")
status = spec.get("status", "TODO_REQUIRED")
owner = spec.get("owner")
status = spec.get("status")
input_fields = [item.get("field") for item in inputs if isinstance(item, dict) and item.get("field")]
return (
f'"""Auto-generated formula stub for {formula_id}."""\n'
@@ -4,13 +4,39 @@
"title": "BREAKOUT_FAILURE_STOP_V1",
"type": "object",
"properties": {
"formula_id": { "const": "BREAKOUT_FAILURE_STOP_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "BREAKOUT_FAILURE_STOP_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["prior_high", "close_price", "days_since_breakout"],
"x_formula_outputs": ["breakout_failure"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"prior_high",
"close_price",
"days_since_breakout"
],
"x_formula_outputs": []
}
@@ -4,13 +4,37 @@
"title": "CONSECUTIVE_STREAK_V1",
"type": "object",
"properties": {
"formula_id": { "const": "CONSECUTIVE_STREAK_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "CONSECUTIVE_STREAK_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["daily_close_changes"],
"x_formula_outputs": ["up_streak", "down_streak"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"daily_close_changes"
],
"x_formula_outputs": []
}
@@ -40,7 +40,5 @@
"orderbook_top3_depth_krw",
"spread_bps"
],
"x_formula_outputs": [
"order_capacity_krw"
]
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "EXECUTION_PLAN_COMPILER_V1",
"type": "object",
"properties": {
"formula_id": { "const": "EXECUTION_PLAN_COMPILER_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "EXECUTION_PLAN_COMPILER_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["order_capacity_krw", "revalidation_snapshot", "baseline_snapshot"],
"x_formula_outputs": ["compiled_slices"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"order_capacity_krw",
"revalidation_snapshot",
"baseline_snapshot"
],
"x_formula_outputs": []
}
@@ -4,13 +4,38 @@
"title": "FIFTY_TWO_WEEK_HIGH_TRIGGER_V1",
"type": "object",
"properties": {
"formula_id": { "const": "FIFTY_TWO_WEEK_HIGH_TRIGGER_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "FIFTY_TWO_WEEK_HIGH_TRIGGER_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["close_price", "high52w"],
"x_formula_outputs": ["fifty_two_week_high_breakout"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"close_price",
"high52w"
],
"x_formula_outputs": []
}
@@ -0,0 +1,33 @@
"""Auto-generated schema model descriptor."""
from __future__ import annotations
from dataclasses import dataclass
import json
from pathlib import Path
from typing import Any
SCHEMA_TITLE = 'FORECAST_SIMULATION_ENGINE_V1'
SCHEMA_ID = 'schema://formula/FORECAST_SIMULATION_ENGINE_V1'
SCHEMA_PATH = 'schemas/generated/forecast_simulation_engine_v1.schema.json'
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
@dataclass(frozen=True)
class SchemaModel:
title: str
schema_id: str
path: str
properties: list[str]
required: list[str]
def load_schema() -> dict[str, Any]:
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
def describe() -> SchemaModel:
return SchemaModel(
title=SCHEMA_TITLE,
schema_id=SCHEMA_ID,
path=SCHEMA_PATH,
properties=list(SCHEMA_PROPERTIES),
required=list(SCHEMA_REQUIRED),
)
@@ -0,0 +1,43 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schema://formula/FORECAST_SIMULATION_ENGINE_V1",
"title": "FORECAST_SIMULATION_ENGINE_V1",
"type": "object",
"properties": {
"formula_id": {
"const": "FORECAST_SIMULATION_ENGINE_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"net_profit_distribution_after_tax_fee_slippage",
"sample_count_total",
"sample_count_same_regime",
"execution_mode"
],
"x_formula_outputs": []
}
@@ -4,13 +4,40 @@
"title": "GOLDEN_CROSS_SIGNAL_V1",
"type": "object",
"properties": {
"formula_id": { "const": "GOLDEN_CROSS_SIGNAL_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "GOLDEN_CROSS_SIGNAL_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["ma20", "ma20_prev", "ma60", "ma60_prev"],
"x_formula_outputs": ["golden_cross_today"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"ma20",
"ma20_prev",
"ma60",
"ma60_prev"
],
"x_formula_outputs": []
}
@@ -4,13 +4,41 @@
"title": "IMMUTABLE_DECISION_LEDGER_V1",
"type": "object",
"properties": {
"formula_id": { "const": "IMMUTABLE_DECISION_LEDGER_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "IMMUTABLE_DECISION_LEDGER_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["decision_id", "input_hash_bundle", "execution_mode", "candidate_ids", "selected_transition_id"],
"x_formula_outputs": ["ledger_append_status"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"decision_id",
"input_hash_bundle",
"execution_mode",
"candidate_ids",
"selected_transition_id"
],
"x_formula_outputs": []
}
@@ -0,0 +1,33 @@
"""Auto-generated schema model descriptor."""
from __future__ import annotations
from dataclasses import dataclass
import json
from pathlib import Path
from typing import Any
SCHEMA_TITLE = 'LEADER_LIFECYCLE_GATE_V1'
SCHEMA_ID = 'schema://formula/LEADER_LIFECYCLE_GATE_V1'
SCHEMA_PATH = 'schemas/generated/leader_lifecycle_gate_v1.schema.json'
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
@dataclass(frozen=True)
class SchemaModel:
title: str
schema_id: str
path: str
properties: list[str]
required: list[str]
def load_schema() -> dict[str, Any]:
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
def describe() -> SchemaModel:
return SchemaModel(
title=SCHEMA_TITLE,
schema_id=SCHEMA_ID,
path=SCHEMA_PATH,
properties=list(SCHEMA_PROPERTIES),
required=list(SCHEMA_REQUIRED),
)
@@ -0,0 +1,45 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schema://formula/LEADER_LIFECYCLE_GATE_V1",
"title": "LEADER_LIFECYCLE_GATE_V1",
"type": "object",
"properties": {
"formula_id": {
"const": "LEADER_LIFECYCLE_GATE_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"relative_strength_leads_sector",
"volume_quality_confirmed",
"above_ma60_or_reclaim_confirmed",
"earnings_revision_status",
"institutional_flow_status",
"current_role"
],
"x_formula_outputs": []
}
@@ -43,9 +43,5 @@
"account_mdd_pct",
"account_mdd_budget_pct"
],
"x_formula_outputs": [
"execution_mode",
"kill_switch_triggered",
"kill_switch_reason_codes"
]
"x_formula_outputs": []
}
@@ -0,0 +1,33 @@
"""Auto-generated schema model descriptor."""
from __future__ import annotations
from dataclasses import dataclass
import json
from pathlib import Path
from typing import Any
SCHEMA_TITLE = 'PORTFOLIO_TRANSITION_UTILITY_V1'
SCHEMA_ID = 'schema://formula/PORTFOLIO_TRANSITION_UTILITY_V1'
SCHEMA_PATH = 'schemas/generated/portfolio_transition_utility_v1.schema.json'
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
@dataclass(frozen=True)
class SchemaModel:
title: str
schema_id: str
path: str
properties: list[str]
required: list[str]
def load_schema() -> dict[str, Any]:
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
def describe() -> SchemaModel:
return SchemaModel(
title=SCHEMA_TITLE,
schema_id=SCHEMA_ID,
path=SCHEMA_PATH,
properties=list(SCHEMA_PROPERTIES),
required=list(SCHEMA_REQUIRED),
)
@@ -0,0 +1,44 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schema://formula/PORTFOLIO_TRANSITION_UTILITY_V1",
"title": "PORTFOLIO_TRANSITION_UTILITY_V1",
"type": "object",
"properties": {
"formula_id": {
"const": "PORTFOLIO_TRANSITION_UTILITY_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"ce70_net_profit_krw",
"tax_fee_slippage_krw",
"cash_repair_benefit_krw",
"concentration_reduction_benefit_krw",
"turnover_penalty_krw"
],
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "REBALANCE_CADENCE_GATE_V1",
"type": "object",
"properties": {
"formula_id": { "const": "REBALANCE_CADENCE_GATE_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "REBALANCE_CADENCE_GATE_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["today_date", "transition_utility_after_tax_cost_krw", "hard_risk_block_active"],
"x_formula_outputs": ["rebalance_execution_allowed", "cadence_check_required", "review_emitted"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"today_date",
"transition_utility_after_tax_cost_krw",
"hard_risk_block_active"
],
"x_formula_outputs": []
}
@@ -4,13 +4,38 @@
"title": "SCENARIO_SHOCK_MATRIX_V1",
"type": "object",
"properties": {
"formula_id": { "const": "SCENARIO_SHOCK_MATRIX_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "SCENARIO_SHOCK_MATRIX_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["net_profit_distribution_after_tax_fee_slippage", "scenario_id"],
"x_formula_outputs": ["scenario_results"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"net_profit_distribution_after_tax_fee_slippage",
"scenario_id"
],
"x_formula_outputs": []
}
@@ -40,10 +40,5 @@
"sector_id",
"peer_sector_betas"
],
"x_formula_outputs": [
"sector_family_total_pct",
"lookthrough_etf_weight_pct",
"factor_beta_residualized",
"leader_role"
]
"x_formula_outputs": []
}
@@ -0,0 +1,33 @@
"""Auto-generated schema model descriptor."""
from __future__ import annotations
from dataclasses import dataclass
import json
from pathlib import Path
from typing import Any
SCHEMA_TITLE = 'SELL_LOT_PARETO_SELECTOR_V1'
SCHEMA_ID = 'schema://formula/SELL_LOT_PARETO_SELECTOR_V1'
SCHEMA_PATH = 'schemas/generated/sell_lot_pareto_selector_v1.schema.json'
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
@dataclass(frozen=True)
class SchemaModel:
title: str
schema_id: str
path: str
properties: list[str]
required: list[str]
def load_schema() -> dict[str, Any]:
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
def describe() -> SchemaModel:
return SchemaModel(
title=SCHEMA_TITLE,
schema_id=SCHEMA_ID,
path=SCHEMA_PATH,
properties=list(SCHEMA_PROPERTIES),
required=list(SCHEMA_REQUIRED),
)
@@ -0,0 +1,46 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schema://formula/SELL_LOT_PARETO_SELECTOR_V1",
"title": "SELL_LOT_PARETO_SELECTOR_V1",
"type": "object",
"properties": {
"formula_id": {
"const": "SELL_LOT_PARETO_SELECTOR_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"avoided_tail_loss_krw",
"cash_repair_benefit_krw",
"concentration_reduction_benefit_krw",
"tax_loss_benefit_krw",
"tax_fee_slippage_krw",
"reentry_cost_krw",
"missed_upside_penalty_krw"
],
"x_formula_outputs": []
}
@@ -4,13 +4,44 @@
"title": "STATE_VECTOR_CONSTRUCTOR_V1",
"type": "object",
"properties": {
"formula_id": { "const": "STATE_VECTOR_CONSTRUCTOR_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "STATE_VECTOR_CONSTRUCTOR_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["cash_ladder", "positions", "sector_exposure_graph", "factor_exposures", "tax_lots", "risk_bucket_weights", "macro_regime_probabilities", "goal_progress_pct"],
"x_formula_outputs": ["state_vector", "state_vector_completeness_pct", "missing_components"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"cash_ladder",
"positions",
"sector_exposure_graph",
"factor_exposures",
"tax_lots",
"risk_bucket_weights",
"macro_regime_probabilities",
"goal_progress_pct"
],
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "STRONG_CLOSE_SIGNAL_V1",
"type": "object",
"properties": {
"formula_id": { "const": "STRONG_CLOSE_SIGNAL_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "STRONG_CLOSE_SIGNAL_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["close_price", "high_price", "low_price"],
"x_formula_outputs": ["strong_close", "close_position_pct"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"close_price",
"high_price",
"low_price"
],
"x_formula_outputs": []
}
@@ -4,13 +4,38 @@
"title": "TRANSITION_SET_ENUMERATOR_V1",
"type": "object",
"properties": {
"formula_id": { "const": "TRANSITION_SET_ENUMERATOR_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "TRANSITION_SET_ENUMERATOR_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["evaluated_candidates", "max_set_size"],
"x_formula_outputs": ["selected_transition_set"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"evaluated_candidates",
"max_set_size"
],
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "TREND_FILTER_GATE_V1",
"type": "object",
"properties": {
"formula_id": { "const": "TREND_FILTER_GATE_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "TREND_FILTER_GATE_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["close_price", "ma120", "ma120_prev"],
"x_formula_outputs": ["trend_filter_pass"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"close_price",
"ma120",
"ma120_prev"
],
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "VOLATILITY_EXPANSION_BREAKOUT_V1",
"type": "object",
"properties": {
"formula_id": { "const": "VOLATILITY_EXPANSION_BREAKOUT_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "VOLATILITY_EXPANSION_BREAKOUT_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["bb_width", "bb_width_20d_percentile", "ret_1d"],
"x_formula_outputs": ["volatility_expansion_breakout"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"bb_width",
"bb_width_20d_percentile",
"ret_1d"
],
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "WALK_FORWARD_BOOTSTRAP_V1",
"type": "object",
"properties": {
"formula_id": { "const": "WALK_FORWARD_BOOTSTRAP_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "WALK_FORWARD_BOOTSTRAP_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["historical_returns", "current_regime_state", "bootstrap_method"],
"x_formula_outputs": ["net_profit_distribution_after_tax_fee_slippage", "sample_count_total", "sample_count_same_regime"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"historical_returns",
"current_regime_state",
"bootstrap_method"
],
"x_formula_outputs": []
}
@@ -4,13 +4,39 @@
"title": "WEEKLY_LEGACY_TRANSFER_PLAN_V1",
"type": "object",
"properties": {
"formula_id": { "const": "WEEKLY_LEGACY_TRANSFER_PLAN_V1" },
"owner": { "type": "string" },
"status": { "type": "string" },
"inputs": { "type": "array", "items": { "type": "string" } },
"outputs": { "type": "array", "items": { "type": "string" } }
"formula_id": {
"const": "WEEKLY_LEGACY_TRANSFER_PLAN_V1"
},
"owner": {
"type": "string"
},
"status": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["formula_id", "owner", "status", "inputs", "outputs"],
"x_formula_inputs": ["weekly_legacy_to_cma_transfer_plan_krw", "transfer_confirmed", "transfer_confirmed_amount_krw"],
"x_formula_outputs": ["deployable_cash_contribution_krw", "plan_status"]
"required": [
"formula_id",
"owner",
"status",
"inputs",
"outputs"
],
"x_formula_inputs": [
"weekly_legacy_to_cma_transfer_plan_krw",
"transfer_confirmed",
"transfer_confirmed_amount_krw"
],
"x_formula_outputs": []
}