8. Output File Schema
Types: str = text, float = number, bool = true/false, pct = stored as number (percent * 100 or 0–100 depending on column—see notes).
8.1 IRA_Watchlist.csv (subset; full list in code IRA_COLS)¶
| Column | Type | Meaning |
|---|---|---|
| Ticker | str | Uppercase symbol |
| Company | str | Issuer name |
| Source_List | str | e.g. BC20, IBD50, `BC20 |
| Cross_Strategy | bool | True if also on brokerage list (set after merge in full pipeline) |
| IBD_Rank | float | IBD composite rank (lower is better) |
| Composite_Rating | float | IBD composite rating |
| RS_Rating, EPS_Rating | float | IBD ratings |
| ACC_DIS | str | Accumulation/Distribution letter |
| SMR_Rating, Group_RS_Rating | float/str | IBD group columns |
| Price, Price_Change_Pct, Pct_Off_High | float | Price and momentum |
| EPS_, Sales_, Annual_ROE, Annual_Profit_Margin, … | float | Fundamentals from IBD |
| Beta | float | yfinance beta |
| RF_Rate, Required_Return_CAPM | float | Decimals |
| Expected_Return, Alpha_Gap | float | Decimals |
| Beta_Penalty, Risk_Adj_Score | float | See §4 |
| WACC_Stock, WACC_Spread | float | Decimals |
| Multi_List | bool | On both BC20 and IBD50 |
8.2 Brokerage_Watchlist.csv¶
| Column | Type | Meaning |
|---|---|---|
| Ticker, Company, Cross_Strategy | str/bool | As above |
| RS_Rating, EPS_Rating, ACC_DIS, ACC_Numeric | float/str | Inputs to Leader Score |
| Leader_Score, Risk_Adj_Leader_Score | float | §4 |
| Price, Price_Change_Pct | float | |
| Beta, RF_Rate, Required_Return_CAPM, Expected_Return, Alpha_Gap, Beta_Penalty | float | |
| WACC_Stock, WACC_Spread | float |
8.3 Cross_Strategy_Conviction.csv¶
Merged overlap: IRA columns (e.g. IBD_Rank, Composite_Rating, IRA_Risk_Adj_Score, IRA_Source_List) + Brokerage (RS_Rating, Leader_Score, Brok_Risk_Adj_Score, Alpha_Gap, etc.). See CONVICTION_COLS in ingest_ibd_lists.py.
8.4 {AccountSlug}_Report.csv (e.g. Etrade_IRA_Report.csv)¶
IRA columns include: IBD_Rank, Composite_Rating, SMR_Rating, Risk_Adj_Score, Source_List, Multi_List, plus Status (ON_LIST/WATCH), Cross_Strategy, Gain_Loss_Pct, and all _COMMON_COLS fields from portfolio_analyzer.py.
Brokerage columns include: ACC_Numeric, Leader_Score, Risk_Adj_Leader_Score, Status (LEADER/RISK), plus common columns.
8.5 {AccountSlug}_Summary.csv¶
Single-row account aggregates from _build_summary (totals, portfolio WACC, etc.).
8.6 performance_history.csv¶
Columns: HISTORY_COLS in performance_tracker.py — Date, Week_Number, Group, Strategy, Ticker, Company, Entry_Date, Entry_Price, Current_Price, Shares_Hypothetical, Entry_Value, Current_Value, Return_Pct, SPY_Price, SPY_Return_Pct, Alpha_vs_SPY, Risk_Adj_Score, Alpha_Gap, WACC_Stock, Status, Exit_Status.
8.7 kpi_summary.csv¶
Columns: KPI_COLS — Date, Week_Number, Group, Strategy, Hit_Rate, Avg_Risk_Adj_Score, Portfolio_Return_Pct, SPY_Return_Pct, Alpha, Portfolio_WACC, Conviction_Pct.