refactor: Simplify trading_plans table creation with MergeTree engine

This commit is contained in:
Bobby (aider) 2025-02-11 17:50:20 -08:00
parent 7b6d890d7e
commit 26c8d83451

View File

@ -78,13 +78,13 @@ def create_trading_plan_table():
"""Create the trading plans table if it doesn't exist""" """Create the trading plans table if it doesn't exist"""
with create_client() as client: with create_client() as client:
query = """ query = """
CREATE TABLE IF NOT EXISTS trading_plans ( CREATE TABLE IF NOT EXISTS trading_plans
(
id UInt32, id UInt32,
plan_name String, plan_name String,
status String, status String,
created_at DateTime64(3), created_at DateTime64(3),
updated_at DateTime64(3), updated_at DateTime64(3),
timeframe String, timeframe String,
market_focus String, market_focus String,
entry_criteria String, entry_criteria String,
@ -95,36 +95,31 @@ def create_trading_plan_table():
trade_frequency String, trade_frequency String,
market_conditions String, market_conditions String,
indicators_used String, indicators_used String,
entry_confirmation String, entry_confirmation String,
position_sizing Float64, position_sizing Float64,
maximum_drawdown Float64, maximum_drawdown Float64,
max_trades_per_day UInt32, max_trades_per_day UInt32,
max_trades_per_week UInt32, max_trades_per_week UInt32,
total_risk_per_trade Float64, total_risk_per_trade Float64,
max_portfolio_risk Float64, max_portfolio_risk Float64,
adjustments_for_drawdown String, adjustments_for_drawdown String,
risk_controls String, risk_controls String,
win_rate Nullable(Float64), win_rate Nullable(Float64),
average_return_per_trade Nullable(Float64), average_return_per_trade Nullable(Float64),
profit_factor Nullable(Float64), profit_factor Nullable(Float64),
historical_backtest_results Nullable(String), historical_backtest_results Nullable(String),
real_trade_performance Nullable(String), real_trade_performance Nullable(String),
improvements_needed Nullable(String), improvements_needed Nullable(String),
strategy_version UInt32, strategy_version UInt32,
plan_author String, plan_author String,
trade_review_notes Nullable(String), trade_review_notes Nullable(String),
future_testing_ideas Nullable(String), future_testing_ideas Nullable(String),
sector_focus Nullable(String), sector_focus Nullable(String),
fundamental_criteria Nullable(String), fundamental_criteria Nullable(String),
options_strategy_details Nullable(String) options_strategy_details Nullable(String)
) )
ENGINE = ReplacingMergeTree(updated_at) ENGINE = MergeTree
ORDER BY (id) ORDER BY id
""" """
client.execute(query) client.execute(query)