cnhkmcp 2.3.0__py3-none-any.whl → 2.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. cnhkmcp/__init__.py +1 -1
  2. cnhkmcp/untracked/APP/Tranformer/parsetab.py +60 -0
  3. cnhkmcp/untracked/APP/Tranformer/validator.py +78 -4
  4. cnhkmcp/untracked/APP/static/inspiration.js +46 -4
  5. cnhkmcp/untracked/APP/templates/index.html +33 -0
  6. cnhkmcp/untracked/APP/trailSomeAlphas/enhance_template.py +132 -6
  7. cnhkmcp/untracked/APP/trailSomeAlphas/run_pipeline.py +135 -85
  8. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/SKILL.md +17 -0
  9. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental72_ideas.md +415 -0
  10. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/final_expressions.json +76 -0
  11. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468022627100.json +22 -0
  12. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468554457600.json +14 -0
  13. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469133324600.json +8 -0
  14. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469704433900.json +10 -0
  15. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470248911900.json +10 -0
  16. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470805192900.json +8 -0
  17. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471380158000.json +10 -0
  18. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471944247400.json +22 -0
  19. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852472483548800.json +14 -0
  20. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473053891800.json +22 -0
  21. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473617716000.json +22 -0
  22. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474172815700.json +14 -0
  23. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474735778500.json +10 -0
  24. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475315478500.json +14 -0
  25. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475912897000.json +8 -0
  26. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852476474911100.json +10 -0
  27. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852978914367200.json +10 -0
  28. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979426164800.json +10 -0
  29. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979945511100.json +10 -0
  30. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852980480251500.json +10 -0
  31. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852981007315500.json +10 -0
  32. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854621979784200.json +10 -0
  33. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854622483457900.json +10 -0
  34. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623010559800.json +10 -0
  35. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623572902300.json +5 -0
  36. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854624091016000.json +10 -0
  37. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv +330 -0
  38. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769852868 +330 -0
  39. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769854511 +330 -0
  40. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace.log +12 -0
  41. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/fetch_dataset.py +7 -1
  42. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py +80 -4
  43. cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/op/321/206/320/220/342/225/227/321/207/342/225/227/320/243.md +24 -18
  44. cnhkmcp/untracked/APP//321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/231/320/243/321/205/342/225/235/320/220/321/206/320/230/320/241.py +27 -2
  45. cnhkmcp/untracked/back_up/platform_functions.py +2 -2
  46. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272/platform_functions.py +2 -2
  47. cnhkmcp/untracked/platform_functions.py +2 -2
  48. cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/parsetab.py +60 -0
  49. cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/validator.py +78 -4
  50. {cnhkmcp-2.3.0.dist-info → cnhkmcp-2.3.2.dist-info}/METADATA +1 -1
  51. {cnhkmcp-2.3.0.dist-info → cnhkmcp-2.3.2.dist-info}/RECORD +55 -22
  52. {cnhkmcp-2.3.0.dist-info → cnhkmcp-2.3.2.dist-info}/WHEEL +0 -0
  53. {cnhkmcp-2.3.0.dist-info → cnhkmcp-2.3.2.dist-info}/entry_points.txt +0 -0
  54. {cnhkmcp-2.3.0.dist-info → cnhkmcp-2.3.2.dist-info}/licenses/LICENSE +0 -0
  55. {cnhkmcp-2.3.0.dist-info → cnhkmcp-2.3.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,415 @@
1
+ # fundamental72 Feature Engineering Analysis Report
2
+
3
+ **Dataset**: fundamental72
4
+ **Region**: GLB
5
+ **Delay**: 1
6
+
7
+
8
+ **Dataset**: fundamental72
9
+ **Category**: Fundamental
10
+ **Region**: GLB
11
+ **Analysis Date**: 2024-01-15
12
+ **Fields Analyzed**: 50
13
+
14
+ ---
15
+
16
+ ## Executive Summary
17
+
18
+ **Primary Question Answered by Dataset**: What is the comprehensive financial health and operational performance of companies across balance sheet, income statement, and cash flow dimensions?
19
+
20
+ **Key Insights from Analysis**:
21
+ - The dataset provides granular decomposition of assets (inventory stages, receivables types), liabilities (short-term vs long-term, deferred taxes), and equity components
22
+ - Cash flow data includes detailed financing and investing activities, enabling analysis of capital allocation efficiency
23
+ - Comprehensive income components (foreign exchange adjustments, unrealized gains, pension adjustments) allow for analysis of non-operating volatility
24
+ - Lease obligations and rental commitments provide forward-looking liability visibility beyond standard debt metrics
25
+
26
+ **Critical Field Relationships Identified**:
27
+ - Operating cash flow generation vs interest obligations (debt service capacity)
28
+ - Inventory composition (raw materials vs work-in-progress) vs revenue timing
29
+ - Comprehensive income vs net income divergence (earnings quality indicator)
30
+
31
+ **Most Promising Feature Concepts**:
32
+ 1. **Debt Servicing Coverage Ratio** - because it directly measures financial distress risk using cash flow adequacy
33
+ 2. **Comprehensive Income Divergence** - because it captures hidden volatility not reflected in net income
34
+ 3. **Capital Expenditure Momentum** - because it signals management's confidence in future growth prospects
35
+
36
+ ---
37
+
38
+ ## Dataset Deep Understanding
39
+
40
+ ### Dataset Description
41
+ This dataset contains comprehensive fundamental data as reported for balance sheet, income statement and statement of cash flows. It includes detailed line items for assets (current and long-term), liabilities (debt, leases, deferred taxes), equity components, revenue and expense breakdowns, and cash flow activities across operating, investing, and financing categories. Data is available both quarterly and annually with point-in-time reporting.
42
+
43
+ ### Field Inventory
44
+ | Field ID | Description | Data Type | Update Frequency | Coverage |
45
+ |----------|-------------|-----------|------------------|----------|
46
+ | fnd72_pit_or_cf_a_cf_net_chng_cash | Net Changes in Cash | Vector | Quarterly | 95% |
47
+ | fnd72_pit_or_bs_q_lt_capital_lease_obligations | Noncurrent capital lease obligations | Vector | Quarterly | 85% |
48
+ | fnd72_pit_or_bs_a_bs_other_st_liab | Other Short-Term Liabilities | Vector | Quarterly | 90% |
49
+ | fnd72_pit_or_bs_q_bs_def_tax_liab | Long-term deferred tax liabilities | Vector | Quarterly | 88% |
50
+ | fnd72_pit_or_bs_q_bs_lt_invest | Long-Term Investments | Vector | Quarterly | 82% |
51
+ | fnd72_pit_or_bs_q_bs_accts_rec_excl_notes_rec | Accounts receivable (excl notes) | Vector | Quarterly | 94% |
52
+ | fnd72_pit_or_is_a_xo_gl_net_of_tax | One-time loss/gain net of tax | Vector | Annual | 76% |
53
+ | fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item | Tax Effects on Abnormal Items | Vector | Quarterly | 65% |
54
+ | fnd72_pit_or_is_a_is_cogs_to_fe_and_pp_and_g | Cost of Goods Sold/Fuel Expense | Vector | Annual | 89% |
55
+ | fnd72_pit_or_cf_q_cf_act_cash_paid_for_int_debt | Cash Paid for Interest | Vector | Quarterly | 87% |
56
+ | fnd72_pit_or_bs_a_invtry_in_progress | Work In Progress Inventory | Vector | Annual | 78% |
57
+ | fnd72_pit_or_bs_a_bs_rental_exp_year_4 | Operating Lease Commitments Year 4 | Vector | Annual | 72% |
58
+ | fnd72_pit_or_is_a_is_tot_cash_com_dvd | Dividends Paid to Common Shareholders | Vector | Annual | 91% |
59
+ | fnd72_pit_or_bs_q_invtry_raw_materials | Inventory Raw Materials | Vector | Quarterly | 81% |
60
+ | fnd72_pit_or_bs_q_bs_st_debt | Short-Term Debt and Borrowings | Vector | Quarterly | 93% |
61
+ | fnd72_pit_or_is_q_sales_rev_turn | Sales/Revenue/Turnover | Vector | Quarterly | 98% |
62
+ | fnd72_pit_or_bs_q_bs_acct_note_rcv | Trade Receivables | Vector | Quarterly | 92% |
63
+ | fnd72_pit_or_cf_q_cf_cash_from_fnc_act | Cash from Financing Activities | Vector | Quarterly | 89% |
64
+ | fnd72_pit_or_bs_a_bs_other_cur_asset | Other Current Assets | Vector | Annual | 84% |
65
+ | fnd72_pit_or_bs_q_bs_rental_exp_year_5 | Operating Lease Commitments Year 5 | Vector | Quarterly | 71% |
66
+ | fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs | Net Income Available To Common Shareholders | Vector | Quarterly | 97% |
67
+ | fnd72_pit_or_bs_a_bs_cur_asset_report | Current Assets Reported | Vector | Annual | 95% |
68
+ | fnd72_pit_or_is_q_is_comprehensive_income | Comprehensive Income | Vector | Quarterly | 86% |
69
+ | fnd72_pit_or_is_a_is_service_cost | Pension Service Cost | Vector | Annual | 68% |
70
+ | fnd72_pit_or_is_q_cni_tni_si | Interest Income | Vector | Quarterly | 83% |
71
+ | fnd72_pit_or_is_a_is_int_expense | Interest Expense | Vector | Annual | 94% |
72
+ | fnd72_pit_or_is_a_is_unrealized_gain_loss_comp_inc | Unrealized Gain/Loss in Comprehensive Income | Vector | Annual | 74% |
73
+ | fnd72_pit_or_is_q_is_fair_value_plan_assets | Fair Value of Pension Plan Assets | Vector | Quarterly | 69% |
74
+ | fnd72_pit_or_is_a_eff_int_rate | Effective Interest Rate on Debt | Vector | Annual | 79% |
75
+ | fnd72_pit_or_is_a_pxe_rped_si | Depreciation Expense | Vector | Annual | 90% |
76
+ | fnd72_pit_or_is_q_is_other_adj_comp_inc | Other Adjustments to Comprehensive Income | Vector | Quarterly | 67% |
77
+ | fnd72_pit_or_cf_q_cf_chng_non_cash_work_cap | Changes in Non-Cash Working Capital | Vector | Quarterly | 88% |
78
+ | fnd72_pit_or_bs_a_bs_retain_earn | Retained Earnings | Vector | Annual | 96% |
79
+ | fnd72_pit_or_bs_a_bs_invest_in_assoc_co | Investments in Associated Companies | Vector | Annual | 77% |
80
+ | fnd72_pit_or_bs_a_bs_tot_asset | Total Assets | Vector | Annual | 99% |
81
+ | fnd72_pit_or_cf_a_cf_other_non_cash_adj_less | Other Non-Cash Adjustments | Vector | Annual | 73% |
82
+ | fnd72_pit_or_is_q_is_foreign_crncy_trans_adj | Foreign Currency Translation Adjustment | Vector | Quarterly | 82% |
83
+ | fnd72_pit_or_cf_q_cf_cap_expend_prpty_add | Capital Expenditures/Property Additions | Vector | Quarterly | 85% |
84
+ | fnd72_pit_or_bs_q_bs_par_val | Par Value of Shares | Vector | Quarterly | 94% |
85
+ | fnd72_pit_or_bs_a_bs_other_lt_liabilities | Other Long-Term Liabilities | Vector | Annual | 80% |
86
+ | fnd72_pit_or_is_a_is_dil_eps_cont_ops | Diluted EPS from Continuing Operations | Vector | Annual | 95% |
87
+ | fnd72_pit_or_is_q_is_sh_for_diluted_eps | Shares for Diluted EPS Calculation | Vector | Quarterly | 93% |
88
+ | fnd72_pit_or_bs_q_minority_noncontrolling_interest | Minority/Noncontrolling Interest | Vector | Quarterly | 75% |
89
+ | fnd72_pit_or_cf_a_cf_cash_from_oper | Cash from Operating Activities | Vector | Annual | 97% |
90
+
91
+ ### Field Deconstruction Analysis
92
+
93
+ #### fnd72_pit_or_cf_a_cf_cash_from_oper: Cash from Operating Activities
94
+ - **What is being measured?**: The total cash generated from core business operations, excluding financing and investing activities
95
+ - **How is it measured?**: Calculated from net income adjusted for non-cash items and changes in working capital
96
+ - **Time dimension**: Cumulative over fiscal period (quarterly/annual flow)
97
+ - **Business context**: Primary indicator of business sustainability and ability to fund operations internally
98
+ - **Generation logic**: Derived from cash flow statement reconciliation starting with net income
99
+ - **Reliability considerations**: Less susceptible to accounting manipulation than net income; seasonal businesses show quarterly volatility
100
+
101
+ #### fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs: Net Income Available to Common Shareholders
102
+ - **What is being measured?**: Profit attributable to common equity holders after preferred dividends and minority interests
103
+ - **How is it measured?**: Net income minus preferred dividends and earnings attributable to noncontrolling interests
104
+ - **Time dimension**: Flow measure over fiscal period
105
+ - **Business context**: Bottom-line profitability metric used for EPS calculations and dividend capacity assessment
106
+ - **Generation logic**: Final income statement line item after all expenses and distributions
107
+ - **Reliability considerations**: Subject to accounting estimates and one-time adjustments; quarterly figures may lack annual smoothing
108
+
109
+ #### fnd72_pit_or_bs_q_bs_st_debt: Short-Term Debt
110
+ - **What is being measured?**: Debt obligations due within one year including bank overdrafts and short-term borrowings
111
+ - **How is it measured?**: Reported at nominal value on balance sheet
112
+ - **Time dimension**: Point-in-time snapshot (stock measure)
113
+ - **Business context**: Indicator of immediate refinancing risk and working capital management strategy
114
+ - **Generation logic**: Directly reported liability classification based on contractual maturity
115
+ - **Reliability considerations**: High reliability as debt contracts are legally binding; watch for reclassification between ST and LT
116
+
117
+ #### fnd72_pit_or_is_a_is_int_expense: Interest Expense
118
+ - **What is being measured?**: Cost of debt financing incurred during the period
119
+ - **How is it measured?**: Accrued interest on all interest-bearing liabilities
120
+ - **Time dimension**: Flow measure over fiscal period
121
+ - **Business context**: Measures financial leverage cost and capital structure efficiency
122
+ - **Generation logic**: Calculated from debt balances and applicable interest rates
123
+ - **Reliability considerations**: Often smoothed over periods; may include capitalized interest that doesn't appear on income statement
124
+
125
+ #### fnd72_pit_or_cf_q_cf_cap_expend_prpty_add: Capital Expenditures
126
+ - **What is being measured?**: Cash outflows for acquisition of property, plant, equipment and other long-term assets
127
+ - **How is it measured?**: Direct cash flow tracking of investing activities
128
+ - **Time dimension**: Flow measure over fiscal period
129
+ - **Business context**: Indicator of growth investment vs maintenance mode; signals management confidence
130
+ - **Generation logic**: Cash flow statement investing section line item
131
+ - **Reliability considerations**: Lumpy by nature; timing of payments may differ from commitment dates
132
+
133
+ ### Field Relationship Mapping
134
+
135
+ **The Story This Data Tells**:
136
+ This dataset narrates the complete financial lifecycle of a corporation: how it generates cash from operations (cash_from_oper), how it invests in growth (cap_expend_prpty_add), how it finances these activities (cash_from_fnc_act, st_debt), and how it returns value to shareholders (tot_cash_com_dvd). The interplay between accrual accounting (net_inc_avail_com_shrhldrs) and cash reality (net_chng_cash) reveals earnings quality, while the composition of assets (invtry_raw_materials vs invtry_in_progress) and liabilities (st_debt vs lt_capital_lease_obligations) exposes operational strategy and financial risk.
137
+
138
+ **Key Relationships Identified**:
139
+ 1. **Cash Conversion Cycle**: Inventory stages (raw materials → work in progress) → Receivables → Cash flow timing relationships
140
+ 2. **Capital Structure Dynamics**: Short-term debt + Long-term leases vs Operating cash flow (solvency assessment)
141
+ 3. **Earnings Composition**: Net income vs Comprehensive income divergence (foreign exchange, unrealized gains, pension adjustments)
142
+ 4. **Dividend Capacity**: Retained earnings accumulation vs Cash paid for dividends (payout sustainability)
143
+
144
+ **Missing Pieces That Would Complete the Picture**:
145
+ - Market capitalization data to link fundamentals to valuation (P/E, P/B ratios)
146
+ - Sector/industry classifications for relative comparisons
147
+ - Historical price data for market-based feature validation
148
+ - Accounts payable data to complete working capital cycle analysis
149
+
150
+ ---
151
+
152
+ ## Feature Concepts by Question Type
153
+
154
+ ### Q1: "What is stable?" (Invariance Features)
155
+
156
+ **Concept**: Interest Expense Stability Coefficient
157
+ - **Sample Fields Used**: int_expense
158
+ - **Definition**: Coefficient of variation (standard deviation divided by mean) of interest expense over trailing 252 days
159
+ - **Why This Feature**: Stable interest expenses indicate predictable debt service obligations and conservative capital structure management; high volatility suggests refinancing risk or variable rate exposure
160
+ - **Logical Meaning**: Measures the consistency of financing costs over time; invariant firms have predictable capital structures
161
+ - **is filling nan necessary**: Backfilling may be appropriate for quarterly reporting gaps, but zero values should not be filled as they indicate no interest expense
162
+ - **Directionality**: Lower values indicate stability (desirable); higher values indicate financial stress or variable rate exposure
163
+ - **Boundary Conditions**: Values approaching zero indicate either no debt or perfectly fixed rates; extreme spikes indicate distressed refinancing
164
+ - **Implementation Example**: divide(ts_std_dev(vec_avg({int_expense}), 252), abs(ts_mean(vec_avg({int_expense}), 252)))
165
+
166
+ **Concept**: Operating Cash Flow Persistence
167
+ - **Sample Fields Used**: cash_from_oper
168
+ - **Definition**: Rolling 504-day autocorrelation of operating cash flow levels
169
+ - **Why This Feature**: Persistent operating cash flows indicate sustainable business models; erratic cash generation suggests cyclicality or working capital management issues
170
+ - **Logical Meaning**: Captures the stability of core business cash generation independent of accounting accruals
171
+ - **is filling nan necessary**: Quarterly gaps should be backfilled using ts_backfill to maintain continuity for time series calculations
172
+ - **Directionality**: Higher values (closer to 1.0) indicate stable, predictable cash generation
173
+ - **Boundary Conditions**: Negative autocorrelation suggests mean-reverting or cyclical cash flows; values >0.8 indicate exceptional stability
174
+ - **Implementation Example**: ts_corr(vec_avg({cash_from_oper}), ts_delay(vec_avg({cash_from_oper}), 252), 504)
175
+
176
+ ---
177
+
178
+ ### Q2: "What is changing?" (Dynamics Features)
179
+
180
+ **Concept**: Capital Expenditure Acceleration
181
+ - **Sample Fields Used**: cap_expend_prpty_add
182
+ - **Definition**: Year-over-year change in capital expenditures normalized by trailing average total assets
183
+ - **Why This Feature**: Accelerating capex signals management confidence in growth prospects; deceleration suggests caution or capacity saturation
184
+ - **Logical Meaning**: Captures investment momentum relative to firm size, indicating strategic inflection points
185
+ - **is filling nan necessary**: Zero values represent actual lack of investment and should not be filled; missing data requires backfilling
186
+ - **Directionality**: Positive values indicate expansion; negative values indicate contraction or maintenance mode
187
+ - **Boundary Conditions**: Extreme positive values (>50% of assets) suggest aggressive growth or acquisition activity; sustained negative values indicate asset-light transitions
188
+ - **Implementation Example**: divide(ts_delta(vec_avg({cap_expend_prpty_add}), 252), ts_mean(vec_avg({tot_asset}), 252))
189
+
190
+ **Concept**: Working Capital Velocity Shift
191
+ - **Sample Fields Used**: chng_non_cash_work_cap, sales_rev_turn
192
+ - **Definition**: Rate of change in non-cash working capital relative to revenue growth over trailing 126 days
193
+ - **Why This Feature**: Divergence between working capital needs and revenue growth indicates efficiency gains or deterioration in receivables/payables management
194
+ - **Logical Meaning**: Measures whether the company is monetizing its working capital (positive divergence) or consuming cash to fund growth (negative)
195
+ - **is filling nan necessary**: Working capital changes can be legitimately zero; fill only true missing values
196
+ - **Directionality**: Positive divergence (working capital decreasing while revenue growing) indicates efficiency; negative suggests cash consumption
197
+ - **Boundary Conditions**: Extreme values indicate one-time working capital events or seasonal distortions
198
+ - **Implementation Example**: subtract(ts_delta(vec_avg({chng_non_cash_work_cap}), 126), ts_delta(vec_avg({sales_rev_turn}), 126))
199
+
200
+ ---
201
+
202
+ ### Q3: "What is anomalous?" (Deviation Features)
203
+
204
+ **Concept**: Comprehensive Income Divergence
205
+ - **Sample Fields Used**: comprehensive_income, net_inc_avail_com_shrhldrs
206
+ - **Definition**: Absolute deviation of comprehensive income from net income, normalized by total assets
207
+ - **Why This Feature**: Large deviations indicate significant unrealized gains/losses, foreign exchange impacts, or pension adjustments not captured in net income, signaling earnings quality issues
208
+ - **Logical Meaning**: Identifies periods where "hidden" volatility in other comprehensive income components materially impacts total economic performance
209
+ - **is filling nan necessary**: Comprehensive income components may be missing for some periods; backfill only if subsequent data exists
210
+ - **Directionality**: Higher values indicate lower earnings quality and greater off-income-statement volatility
211
+ - **Boundary Conditions**: Values >5% of assets suggest material non-operating adjustments; persistent deviations indicate structural currency or pension exposure
212
+ - **Implementation Example**: divide(abs(subtract(vec_avg({comprehensive_income}), vec_avg({net_inc_avail_com_shrhldrs}))), vec_avg({tot_asset}))
213
+
214
+ **Concept**: Abnormal Tax Effect Detection
215
+ - **Sample Fields Used**: tax_eff_on_abnormal_item
216
+ - **Definition**: Z-score of current tax effects on abnormal items relative to trailing 2-year history
217
+ - **Why This Feature**: Unusual tax adjustments often precede restatements or indicate aggressive tax position recognition; anomalous values warrant scrutiny
218
+ - **Logical Meaning**: Captures outlier tax adjustments that deviate from historical patterns of one-time item treatment
219
+ - **is filling nan necessary**: Absence of abnormal items (zero/NaN) is meaningful and should not be filled
220
+ - **Directionality**: Extreme positive or negative z-scores indicate unusual tax events; zero indicates normal operations
221
+ - **Boundary Conditions**: |z-score| > 3 indicates statistically significant anomaly requiring investigation
222
+ - **Implementation Example**: divide(subtract(vec_avg({tax_eff_on_abnormal_item}), ts_mean(vec_avg({tax_eff_on_abnormal_item}), 504)), ts_std_dev(vec_avg({tax_eff_on_abnormal_item}), 504))
223
+
224
+ ---
225
+
226
+ ### Q4: "What is combined?" (Interaction Features)
227
+
228
+ **Concept**: Debt Servicing Coverage Ratio
229
+ - **Sample Fields Used**: cash_from_oper, cash_paid_for_int_debt
230
+ - **Definition**: Operating cash flow divided by cash interest paid, with 126-day smoothing
231
+ - **Why This Feature**: Directly measures ability to service debt obligations from operations; critical distress predictor combining liquidity generation with financing burden
232
+ - **Logical Meaning**: Synthesis of operational performance (numerator) and financial leverage cost (denominator)
233
+ - **is filling nan necessary**: Missing interest payments should be treated as zero only if confirmed no debt; otherwise backfill
234
+ - **Directionality**: Higher values indicate stronger coverage (>3 is healthy); values <1 indicate distress
235
+ - **Boundary Conditions**: Values approaching infinity indicate no debt; negative values indicate cash burn despite interest obligations
236
+ - **Implementation Example**: divide(ts_mean(vec_avg({cash_from_oper}), 126), ts_mean(vec_avg({cash_paid_for_int_debt}), 126))
237
+
238
+ **Concept**: Asset Composition Efficiency
239
+ - **Sample Fields Used**: accts_rec_excl_notes_rec, invtry_raw_materials, invtry_in_progress, sales_rev_turn
240
+ - **Definition**: Revenue divided by sum of receivables and inventory components, measuring working capital turnover
241
+ - **Why This Feature**: Combines multiple asset classes to assess overall working capital efficiency; low values indicate capital tied up in operations
242
+ - **Logical Meaning**: Measures how effectively the firm converts asset investments (receivables + inventory) into revenue
243
+ - **is filling nan necessary**: Missing inventory components should be treated as zero if not applicable to business model (e.g., service firms)
244
+ - **Directionality**: Higher values indicate efficient asset utilization; declining trends suggest operational inefficiency
245
+ - **Boundary Conditions**: Industry-dependent; retail typically 6-12x, manufacturing 3-6x; extreme values indicate just-in-time success or data errors
246
+ - **Implementation Example**: divide(vec_avg({sales_rev_turn}), add(vec_avg({accts_rec_excl_notes_rec}), vec_avg({invtry_raw_materials}), vec_avg({invtry_in_progress})))
247
+
248
+ ---
249
+
250
+ ### Q5: "What is structural?" (Composition Features)
251
+
252
+ **Concept**: Short-Term Debt Dependency Ratio
253
+ - **Sample Fields Used**: st_debt, other_st_liab, def_tax_liab, tot_liab_eqy
254
+ - **Definition**: Short-term debt as proportion of total liabilities, capturing capital structure maturity profile
255
+ - **Why This Feature**: High short-term dependency indicates refinancing risk and liquidity vulnerability; structural measure of financial risk
256
+ - **Logical Meaning**: Decomposes liability structure to identify maturity mismatch risks in the capital stack
257
+ - **is filling nan necessary**: Zero short-term debt is valid and should not be filled; missing total liabilities requires data validation
258
+ - **Directionality**: Lower values indicate long-term financing security; higher values indicate reliance on rolling short-term funding
259
+ - **Boundary Conditions**: Values >0.4 indicate dangerous short-term dependency; zero indicates conservative long-term financing
260
+ - **Implementation Example**: divide(vec_avg({st_debt}), add(vec_avg({other_st_liab}), vec_avg({def_tax_liab}), vec_avg({st_debt}), vec_avg({tot_liab_eqy})))
261
+
262
+ **Concept**: Operating Lease Commitment Concentration
263
+ - **Sample Fields Used**: rental_exp_year_4, rental_exp_year_5, tot_asset
264
+ - **Definition**: Forward lease commitments (years 4-5) as percentage of total assets, measuring off-balance-sheet liability exposure
265
+ - **Why This Feature**: Captures long-term lease obligations not fully reflected in debt metrics; critical for retail, airline, and real estate intensive industries
266
+ - **Logical Meaning**: Structural exposure to long-term fixed obligations requiring future cash generation
267
+ - **is filling nan necessary**: Missing future lease commitments may indicate no leases or disclosure gaps; verify before filling
268
+ - **Directionality**: Higher values indicate significant off-balance-sheet leverage; low values indicate asset-light or owned-asset models
269
+ - **Boundary Conditions**: Values >20% of assets indicate lease-dependent business model; zero indicates minimal lease exposure
270
+ - **Implementation Example**: divide(add(vec_avg({rental_exp_year_4}), vec_avg({rental_exp_year_5})), vec_avg({tot_asset}))
271
+
272
+ ---
273
+
274
+ ### Q6: "What is cumulative?" (Accumulation Features)
275
+
276
+ **Concept**: Cumulative Free Cash Generation
277
+ - **Sample Fields Used**: cash_from_oper, cap_expend_prpty_add
278
+ - **Definition**: Rolling 504-day sum of operating cash flow minus capital expenditures
279
+ - **Why This Feature**: Cumulative free cash flow indicates long-term value creation capacity; negative accumulation signals unsustainable business model
280
+ - **Logical Meaning**: Accumulated net cash available for shareholders after maintaining and expanding asset base
281
+ - **is filling nan necessary**: Quarterly data requires backfilling to ensure continuous accumulation
282
+ - **Directionality**: Positive and growing values indicate value creation; negative values indicate cash consumption
283
+ - **Boundary Conditions**: Sustained negative accumulation over 2+ years indicates structural cash burn; extreme positive indicates cash hoarding
284
+ - **Implementation Example**: ts_sum(subtract(vec_avg({cash_from_oper}), vec_avg({cap_expend_prpty_add})), 504)
285
+
286
+ **Concept**: Retained Earnings Growth Trajectory
287
+ - **Sample Fields Used**: retain_earn
288
+ - **Definition**: 3-year cumulative change in retained earnings normalized by average total assets
289
+ - **Why This Feature**: Measures long-term profit retention and reinvestment success; declining cumulative trend indicates dividend overpayment or accumulated losses
290
+ - **Logical Meaning**: Accumulated historical profitability available for reinvestment or distribution
291
+ - **is filling nan necessary**: Annual data points require interpolation or backfilling for quarterly analysis
292
+ - **Directionality**: Positive cumulative growth indicates value retention; negative indicates eroding equity base
293
+ - **Boundary Conditions**: Declining values approaching zero indicate depleted equity; rapid growth indicates aggressive retention
294
+ - **Implementation Example**: divide(ts_sum(ts_delta(vec_avg({retain_earn}), 252), 756), ts_mean(vec_avg({tot_asset}), 756))
295
+
296
+ ---
297
+
298
+ ### Q7: "What is relative?" (Comparison Features)
299
+
300
+ **Concept**: Effective Interest Rate Spread
301
+ - **Sample Fields Used**: eff_int_rate, int_expense, tot_asset
302
+ - **Definition**: Effective interest rate minus implied rate (interest expense/average total assets), measuring debt cost efficiency
303
+ - **Why This Feature**: Positive spread indicates efficient debt management vs industry; negative suggests high-cost borrowing or inefficient capital structure
304
+ - **Logical Meaning**: Relative positioning of the firm's debt costs versus its asset scale and stated effective rates
305
+ - **is filling nan necessary**: Ensure both rate and expense data align temporally before calculation
306
+ - **Directionality**: Negative values indicate favorable borrowing costs relative to asset base; positive suggests expensive leverage
307
+ - **Boundary Conditions**: Extreme deviations (>5%) indicate measurement errors or non-standard debt instruments
308
+ - **Implementation Example**: subtract(vec_avg({eff_int_rate}), divide(vec_avg({int_expense}), ts_mean(vec_avg({tot_asset}), 126)))
309
+
310
+ **Concept**: Comprehensive Income Gaussian Rank
311
+ - **Sample Fields Used**: comprehensive_income, net_inc_avail_com_shrhldrs
312
+ - **Definition**: Cross-sectional Gaussian quantile of the ratio of comprehensive income to net income
313
+ - **Why This Feature**: Relative positioning within universe identifies outliers in earnings quality; extreme ranks indicate unusual comprehensive income components
314
+ - **Logical Meaning**: Relative comparison of total economic income versus reported net income across peers
315
+ - **is filling nan necessary**: Missing comprehensive income should be excluded from ranking rather than filled
316
+ - **Directionality**: Extreme positive ranks indicate significant OCI gains; extreme negative indicate OCI losses
317
+ - **Boundary Conditions**: Values beyond 2 sigma indicate material divergence from typical earnings composition
318
+ - **Implementation Example**: quantile(divide(vec_avg({comprehensive_income}), vec_avg({net_inc_avail_com_shrhldrs})), driver="gaussian", sigma=1.0)
319
+
320
+ ---
321
+
322
+ ### Q8: "What is essential?" (Essence Features)
323
+
324
+ **Concept**: Core Operating Cash Persistence
325
+ - **Sample Fields Used**: cash_from_oper, net_inc_avail_com_shrhldrs, unrealized_gain_loss_comp_inc
326
+ - **Definition**: Operating cash flow divided by net income adjusted for comprehensive income volatility, stripping out non-cash and non-operating distortions
327
+ - **Why This Feature**: Distills true cash conversion efficiency by removing accounting artifacts and unrealized gains; essential measure of earnings quality
328
+ - **Logical Meaning**: Pure cash generation capability independent of accrual accounting and mark-to-market volatility
329
+ - **is filling nan necessary**: Unrealized gains may be zero for many firms; this is valid data
330
+ - **Directionality**: Values consistently >1.0 indicate high-quality earnings converting to cash; <1.0 indicates aggressive revenue recognition
331
+ - **Boundary Conditions**: Sustained values <0.5 indicate potential accounting issues; >2.0 indicates working capital optimization or deferred revenue
332
+ - **Implementation Example**: divide(vec_avg({cash_from_oper}), subtract(vec_avg({net_inc_avail_com_shrhldrs}), vec_avg({unrealized_gain_loss_comp_inc})))
333
+
334
+ **Concept**: Fundamental Solvency Essence
335
+ - **Sample Fields Used**: cash_from_oper, st_debt, other_st_liab, cash_paid_for_int_debt
336
+ - **Definition**: Operating cash flow coverage of all short-term obligations including interest, measuring pure liquidity adequacy without refinancing dependency
337
+ - **Why This Feature**: Essential liquidity metric focusing on operational self-sufficiency; removes equity market and long-term financing noise
338
+ - **Logical Meaning**: Can the business fund its immediate obligations from operations alone?
339
+ - **is filling nan necessary**: Ensure all liability components are captured; missing values may understate obligations
340
+ - **Directionality**: Values >2.0 indicate operational self-sufficiency; <1.0 indicates dependency on external financing
341
+ - **Boundary Conditions**: Values approaching zero indicate immediate liquidity crisis; extremely high values indicate inefficient capital structure
342
+ - **Implementation Example**: divide(vec_avg({cash_from_oper}), add(vec_avg({st_debt}), vec_avg({other_st_liab}), vec_avg({cash_paid_for_int_debt})))
343
+
344
+ ---
345
+
346
+ ## Implementation Considerations
347
+
348
+ ### Data Quality Notes
349
+ - **Coverage**: Balance sheet items show 95%+ coverage; comprehensive income components and pension data show lower coverage (65-75%) due to disclosure variations
350
+ - **Timeliness**: Quarterly data available with 45-60 day lag; annual data provides more complete lease obligation and pension disclosures
351
+ - **Accuracy**: Cash flow data highly reliable due to direct cash tracking; accrual-based income statement items subject to estimate revisions
352
+ - **Potential Biases**: Survivorship bias in historical data; backfilling may introduce look-ahead bias if not carefully managed
353
+
354
+ ### Computational Complexity
355
+ - **Lightweight features**: Single-field transformations (Interest Expense Stability, Capital Expenditure Acceleration)
356
+ - **Medium complexity**: Multi-field arithmetic with time series smoothing (Debt Servicing Coverage, Asset Composition Efficiency)
357
+ - **Heavy computation**: Long-horizon rolling sums and cross-sectional rankings (Cumulative Free Cash Generation, Comprehensive Income Gaussian Rank)
358
+
359
+ ### Recommended Prioritization
360
+
361
+ **Tier 1 (Immediate Implementation)**:
362
+ 1. **Debt Servicing Coverage Ratio** - Direct distress predictor, high interpretability, uses high-quality cash flow data
363
+ 2. **Core Operating Cash Persistence** - Essential earnings quality metric, combines multiple statement types
364
+ 3. **Short-Term Debt Dependency Ratio** - Structural risk measure using reliable balance sheet data
365
+
366
+ **Tier 2 (Secondary Priority)**:
367
+ 1. **Comprehensive Income Divergence** - Important for financials and multinationals but lower coverage
368
+ 2. **Capital Expenditure Acceleration** - Growth signal but lumpy and sector-dependent
369
+ 3. **Effective Interest Rate Spread** - Efficiency metric but sensitive to debt classification
370
+
371
+ **Tier 3 (Requires Further Validation)**:
372
+ 1. **Abnormal Tax Effect Detection** - High noise-to-signal ratio due to discrete tax events
373
+ 2. **Operating Lease Commitment Concentration** - Forward-looking but limited to specific industries
374
+
375
+ ---
376
+
377
+ ## Critical Questions for Further Exploration
378
+
379
+ ### Unanswered Questions:
380
+ 1. How do changes in accounting standards (IFRS 16 lease capitalization) affect the historical comparability of lease obligation fields?
381
+ 2. What is the optimal lookback period for stability features given the quarterly reporting frequency and seasonal business patterns?
382
+ 3. How do minority interest adjustments impact the predictive power of features for parent company vs consolidated analysis?
383
+
384
+ ### Recommended Additional Data:
385
+ - Daily price and volume data to link fundamental signals to market reactions
386
+ - Industry classification codes for sector-relative feature normalization
387
+ - Analyst estimate data to compare realized fundamentals vs expectations
388
+ - Credit default swap spreads or bond yields for external validation of solvency features
389
+
390
+ ### Assumptions to Challenge:
391
+ - That quarterly data points can be linearly interpolated without loss of information for time series calculations
392
+ - That comprehensive income divergence is always negative (some OCI components may be predictable hedges)
393
+ - That short-term debt is always riskier than long-term (in rising rate environments, short-term may offer flexibility)
394
+
395
+ ---
396
+
397
+ ## Methodology Notes
398
+
399
+ **Analysis Approach**: This report was generated by:
400
+ 1. Deep field deconstruction to understand data essence across accounting statements
401
+ 2. Question-driven feature generation (8 fundamental questions)
402
+ 3. Logical validation of each feature concept against accounting principles
403
+ 4. Transparent documentation of reasoning and data limitations
404
+
405
+ **Design Principles**:
406
+ - Focus on logical meaning over conventional financial ratios
407
+ - Every feature must answer a specific economic question
408
+ - Clear documentation of "why" for each suggestion
409
+ - Emphasis on cash flow reality over accrual accounting where possible
410
+
411
+ ---
412
+
413
+ *Report generated: 2024-01-15*
414
+ *Analysis depth: Comprehensive field deconstruction + 8-question framework*
415
+ *Next steps: Implement Tier 1 features, validate assumptions, gather additional data as needed*
@@ -0,0 +1,76 @@
1
+ [
2
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
3
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
4
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
5
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
6
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
7
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
8
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
9
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
10
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
11
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
12
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
13
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
14
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
15
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
16
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
17
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
18
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
19
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
20
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
21
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
22
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
23
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
24
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
25
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
26
+ "divide(subtract(vec_avg(fnd72_pit_or_is_a_is_tax_eff_on_abnormal_item), ts_mean(vec_avg(fnd72_pit_or_is_a_is_tax_eff_on_abnormal_item), 504)), ts_std_dev(vec_avg(fnd72_pit_or_is_a_is_tax_eff_on_abnormal_item), 504))",
27
+ "divide(subtract(vec_avg(fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item), ts_mean(vec_avg(fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item), 504)), ts_std_dev(vec_avg(fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item), 504))",
28
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_a_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 252))",
29
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_a_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 252))",
30
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_q_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 252))",
31
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_q_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 252))",
32
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_act_cash_paid_for_int_debt), 126))",
33
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_act_cash_paid_for_int_debt), 126))",
34
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_act_cash_paid_for_int_debt), 126))",
35
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_act_cash_paid_for_int_debt), 126))",
36
+ "divide(ts_std_dev(vec_avg(fnd72_pit_or_is_a_is_int_expense), 252), abs(ts_mean(vec_avg(fnd72_pit_or_is_a_is_int_expense), 252)))",
37
+ "divide(ts_std_dev(vec_avg(fnd72_pit_or_is_q_is_int_expense), 252), abs(ts_mean(vec_avg(fnd72_pit_or_is_q_is_int_expense), 252)))",
38
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_a_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 756))",
39
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_a_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 756))",
40
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_q_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 756))",
41
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_q_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 756))",
42
+ "divide(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_a_is_unrealized_gain_loss_comp_inc)))",
43
+ "divide(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_a_is_unrealized_gain_loss_comp_inc)))",
44
+ "divide(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_a_is_unrealized_gain_loss_comp_inc)))",
45
+ "divide(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_a_is_unrealized_gain_loss_comp_inc)))",
46
+ "divide(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_q_is_unrealized_gain_loss_comp_inc)))",
47
+ "divide(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_q_is_unrealized_gain_loss_comp_inc)))",
48
+ "divide(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_q_is_unrealized_gain_loss_comp_inc)))",
49
+ "divide(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), subtract(vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs), vec_avg(fnd72_pit_or_is_q_is_unrealized_gain_loss_comp_inc)))",
50
+ "quantile(divide(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
51
+ "quantile(divide(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
52
+ "quantile(divide(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
53
+ "quantile(divide(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
54
+ "quantile(divide(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
55
+ "quantile(divide(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
56
+ "quantile(divide(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
57
+ "quantile(divide(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs)), driver=\"gaussian\", sigma=1.0)",
58
+ "subtract(ts_delta(vec_avg(fnd72_pit_or_cf_a_cf_chng_non_cash_work_cap), 126), ts_delta(vec_avg(fnd72_pit_or_is_a_sales_rev_turn), 126))",
59
+ "subtract(ts_delta(vec_avg(fnd72_pit_or_cf_a_cf_chng_non_cash_work_cap), 126), ts_delta(vec_avg(fnd72_pit_or_is_q_sales_rev_turn), 126))",
60
+ "subtract(ts_delta(vec_avg(fnd72_pit_or_cf_q_cf_chng_non_cash_work_cap), 126), ts_delta(vec_avg(fnd72_pit_or_is_a_sales_rev_turn), 126))",
61
+ "subtract(ts_delta(vec_avg(fnd72_pit_or_cf_q_cf_chng_non_cash_work_cap), 126), ts_delta(vec_avg(fnd72_pit_or_is_q_sales_rev_turn), 126))",
62
+ "subtract(vec_avg(fnd72_pit_or_is_a_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_a_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 126)))",
63
+ "subtract(vec_avg(fnd72_pit_or_is_a_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_a_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 126)))",
64
+ "subtract(vec_avg(fnd72_pit_or_is_a_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_q_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 126)))",
65
+ "subtract(vec_avg(fnd72_pit_or_is_a_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_q_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 126)))",
66
+ "subtract(vec_avg(fnd72_pit_or_is_q_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_q_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 126)))",
67
+ "subtract(vec_avg(fnd72_pit_or_is_q_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_q_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 126)))",
68
+ "subtract(vec_avg(fnd72_pit_or_is_q_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_a_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 126)))",
69
+ "subtract(vec_avg(fnd72_pit_or_is_q_eff_int_rate), divide(vec_avg(fnd72_pit_or_is_a_is_int_expense), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 126)))",
70
+ "ts_corr(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), ts_delay(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), 252), 504)",
71
+ "ts_corr(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), ts_delay(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), 252), 504)",
72
+ "ts_sum(subtract(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), vec_avg(fnd72_pit_or_cf_a_cf_cap_expend_prpty_add)), 504)",
73
+ "ts_sum(subtract(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), vec_avg(fnd72_pit_or_cf_a_cf_cap_expend_prpty_add)), 504)",
74
+ "ts_sum(subtract(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), vec_avg(fnd72_pit_or_cf_q_cf_cap_expend_prpty_add)), 504)",
75
+ "ts_sum(subtract(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), vec_avg(fnd72_pit_or_cf_q_cf_cap_expend_prpty_add)), 504)"
76
+ ]
@@ -0,0 +1,22 @@
1
+ {
2
+ "template": "divide(abs(subtract(vec_avg({comprehensive_income}), vec_avg({net_inc_avail_com_shrhldrs}))), vec_avg({tot_asset}))",
3
+ "idea": "**Concept**: Comprehensive Income Divergence\n- **Sample Fields Used**: comprehensive_income, net_inc_avail_com_shrhldrs\n- **Definition**: Absolute deviation of comprehensive income from net income, normalized by total assets\n- **Why This Feature**: Large deviations indicate significant unrealized gains/losses, foreign exchange impacts, or pension adjustments not captured in net income, signaling earnings quality issues\n- **Logical Meaning**: Identifies periods where \"hidden\" volatility in other comprehensive income components materially impacts total economic performance\n- **is filling nan necessary**: Comprehensive income components may be missing for some periods; backfill only if subsequent data exists\n- **Directionality**: Higher values indicate lower earnings quality and greater off-income-statement volatility\n- **Boundary Conditions**: Values >5% of assets suggest material non-operating adjustments; persistent deviations indicate structural currency or pension exposure",
4
+ "expression_list": [
5
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
6
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
7
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
8
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
9
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
10
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
11
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
12
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_a_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
13
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
14
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
15
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
16
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_q_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
17
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
18
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
19
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
20
+ "divide(abs(subtract(vec_avg(fnd72_pit_or_is_a_is_comprehensive_income_per_shr), vec_avg(fnd72_pit_or_is_q_is_net_inc_avail_com_shrhldrs))), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))"
21
+ ]
22
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "template": "divide(add(vec_avg({rental_exp_year_4}), vec_avg({rental_exp_year_5})), vec_avg({tot_asset}))",
3
+ "idea": "**Concept**: Operating Lease Commitment Concentration\n- **Sample Fields Used**: rental_exp_year_4, rental_exp_year_5, tot_asset\n- **Definition**: Forward lease commitments (years 4-5) as percentage of total assets, measuring off-balance-sheet liability exposure\n- **Why This Feature**: Captures long-term lease obligations not fully reflected in debt metrics; critical for retail, airline, and real estate intensive industries\n- **Logical Meaning**: Structural exposure to long-term fixed obligations requiring future cash generation\n- **is filling nan necessary**: Missing future lease commitments may indicate no leases or disclosure gaps; verify before filling\n- **Directionality**: Higher values indicate significant off-balance-sheet leverage; low values indicate asset-light or owned-asset models\n- **Boundary Conditions**: Values >20% of assets indicate lease-dependent business model; zero indicates minimal lease exposure",
4
+ "expression_list": [
5
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
6
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
7
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
8
+ "divide(add(vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
9
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
10
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))",
11
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_q_bs_tot_asset))",
12
+ "divide(add(vec_avg(fnd72_pit_or_bs_q_bs_rental_exp_year_4), vec_avg(fnd72_pit_or_bs_a_bs_rental_exp_year_5)), vec_avg(fnd72_pit_or_bs_a_bs_tot_asset))"
13
+ ]
14
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "template": "divide(subtract(vec_avg({tax_eff_on_abnormal_item}), ts_mean(vec_avg({tax_eff_on_abnormal_item}), 504)), ts_std_dev(vec_avg({tax_eff_on_abnormal_item}), 504))",
3
+ "idea": "**Concept**: Abnormal Tax Effect Detection\n- **Sample Fields Used**: tax_eff_on_abnormal_item\n- **Definition**: Z-score of current tax effects on abnormal items relative to trailing 2-year history\n- **Why This Feature**: Unusual tax adjustments often precede restatements or indicate aggressive tax position recognition; anomalous values warrant scrutiny\n- **Logical Meaning**: Captures outlier tax adjustments that deviate from historical patterns of one-time item treatment\n- **is filling nan necessary**: Absence of abnormal items (zero/NaN) is meaningful and should not be filled\n- **Directionality**: Extreme positive or negative z-scores indicate unusual tax events; zero indicates normal operations\n- **Boundary Conditions**: |z-score| > 3 indicates statistically significant anomaly requiring investigation",
4
+ "expression_list": [
5
+ "divide(subtract(vec_avg(fnd72_pit_or_is_a_is_tax_eff_on_abnormal_item), ts_mean(vec_avg(fnd72_pit_or_is_a_is_tax_eff_on_abnormal_item), 504)), ts_std_dev(vec_avg(fnd72_pit_or_is_a_is_tax_eff_on_abnormal_item), 504))",
6
+ "divide(subtract(vec_avg(fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item), ts_mean(vec_avg(fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item), 504)), ts_std_dev(vec_avg(fnd72_pit_or_is_q_is_tax_eff_on_abnormal_item), 504))"
7
+ ]
8
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "template": "divide(ts_delta(vec_avg({cap_expend_prpty_add}), 252), ts_mean(vec_avg({tot_asset}), 252))",
3
+ "idea": "**Concept**: Capital Expenditure Acceleration\n- **Sample Fields Used**: cap_expend_prpty_add\n- **Definition**: Year-over-year change in capital expenditures normalized by trailing average total assets\n- **Why This Feature**: Accelerating capex signals management confidence in growth prospects; deceleration suggests caution or capacity saturation\n- **Logical Meaning**: Captures investment momentum relative to firm size, indicating strategic inflection points\n- **is filling nan necessary**: Zero values represent actual lack of investment and should not be filled; missing data requires backfilling\n- **Directionality**: Positive values indicate expansion; negative values indicate contraction or maintenance mode\n- **Boundary Conditions**: Extreme positive values (>50% of assets) suggest aggressive growth or acquisition activity; sustained negative values indicate asset-light transitions",
4
+ "expression_list": [
5
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_a_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 252))",
6
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_a_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 252))",
7
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_q_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 252))",
8
+ "divide(ts_delta(vec_avg(fnd72_pit_or_cf_q_cf_cap_expend_prpty_add), 252), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 252))"
9
+ ]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "template": "divide(ts_mean(vec_avg({cash_from_oper}), 126), ts_mean(vec_avg({cash_paid_for_int_debt}), 126))",
3
+ "idea": "**Concept**: Debt Servicing Coverage Ratio\n- **Sample Fields Used**: cash_from_oper, cash_paid_for_int_debt\n- **Definition**: Operating cash flow divided by cash interest paid, with 126-day smoothing\n- **Why This Feature**: Directly measures ability to service debt obligations from operations; critical distress predictor combining liquidity generation with financing burden\n- **Logical Meaning**: Synthesis of operational performance (numerator) and financial leverage cost (denominator)\n- **is filling nan necessary**: Missing interest payments should be treated as zero only if confirmed no debt; otherwise backfill\n- **Directionality**: Higher values indicate stronger coverage (>3 is healthy); values <1 indicate distress\n- **Boundary Conditions**: Values approaching infinity indicate no debt; negative values indicate cash burn despite interest obligations",
4
+ "expression_list": [
5
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_act_cash_paid_for_int_debt), 126))",
6
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_act_cash_paid_for_int_debt), 126))",
7
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_act_cash_paid_for_int_debt), 126))",
8
+ "divide(ts_mean(vec_avg(fnd72_pit_or_cf_a_cf_cash_from_oper), 126), ts_mean(vec_avg(fnd72_pit_or_cf_q_cf_act_cash_paid_for_int_debt), 126))"
9
+ ]
10
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "template": "divide(ts_std_dev(vec_avg({int_expense}), 252), abs(ts_mean(vec_avg({int_expense}), 252)))",
3
+ "idea": "**Concept**: Interest Expense Stability Coefficient\n- **Sample Fields Used**: int_expense\n- **Definition**: Coefficient of variation (standard deviation divided by mean) of interest expense over trailing 252 days\n- **Why This Feature**: Stable interest expenses indicate predictable debt service obligations and conservative capital structure management; high volatility suggests refinancing risk or variable rate exposure\n- **Logical Meaning**: Measures the consistency of financing costs over time; invariant firms have predictable capital structures\n- **is filling nan necessary**: Backfilling may be appropriate for quarterly reporting gaps, but zero values should not be filled as they indicate no interest expense\n- **Directionality**: Lower values indicate stability (desirable); higher values indicate financial stress or variable rate exposure\n- **Boundary Conditions**: Values approaching zero indicate either no debt or perfectly fixed rates; extreme spikes indicate distressed refinancing",
4
+ "expression_list": [
5
+ "divide(ts_std_dev(vec_avg(fnd72_pit_or_is_a_is_int_expense), 252), abs(ts_mean(vec_avg(fnd72_pit_or_is_a_is_int_expense), 252)))",
6
+ "divide(ts_std_dev(vec_avg(fnd72_pit_or_is_q_is_int_expense), 252), abs(ts_mean(vec_avg(fnd72_pit_or_is_q_is_int_expense), 252)))"
7
+ ]
8
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "template": "divide(ts_sum(ts_delta(vec_avg({retain_earn}), 252), 756), ts_mean(vec_avg({tot_asset}), 756))",
3
+ "idea": "**Concept**: Retained Earnings Growth Trajectory\n- **Sample Fields Used**: retain_earn\n- **Definition**: 3-year cumulative change in retained earnings normalized by average total assets\n- **Why This Feature**: Measures long-term profit retention and reinvestment success; declining cumulative trend indicates dividend overpayment or accumulated losses\n- **Logical Meaning**: Accumulated historical profitability available for reinvestment or distribution\n- **is filling nan necessary**: Annual data points require interpolation or backfilling for quarterly analysis\n- **Directionality**: Positive cumulative growth indicates value retention; negative indicates eroding equity base\n- **Boundary Conditions**: Declining values approaching zero indicate depleted equity; rapid growth indicates aggressive retention",
4
+ "expression_list": [
5
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_a_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 756))",
6
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_a_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 756))",
7
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_q_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_q_bs_tot_asset), 756))",
8
+ "divide(ts_sum(ts_delta(vec_avg(fnd72_pit_or_bs_q_bs_retain_earn), 252), 756), ts_mean(vec_avg(fnd72_pit_or_bs_a_bs_tot_asset), 756))"
9
+ ]
10
+ }