cnhkmcp 2.3.2__py3-none-any.whl → 2.3.4__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.
- cnhkmcp/__init__.py +1 -1
- cnhkmcp/untracked/AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221/BRAIN_AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221Mac_Linux/321/207/320/231/320/230/321/206/320/254/320/274.zip +0 -0
- cnhkmcp/untracked/AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221//321/205/320/237/320/234/321/205/320/227/342/225/227/321/205/320/276/320/231/321/210/320/263/320/225AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221_Windows/321/207/320/231/320/230/321/206/320/254/320/274.exe +0 -0
- cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/main.py +7 -0
- cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242//321/211/320/266/320/246/321/206/320/274/320/261/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 +8 -0
- cnhkmcp/untracked/APP/ace_lib.py +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/ace.log +1 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental28_ideas.md +384 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/final_expressions.json +41 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844124598400.json +7 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844589448700.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845048996700.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845510819100.json +12 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845978315000.json +10 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846459411100.json +10 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846924915700.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847399137200.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847858960800.json +10 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848327921300.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848810818000.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849327754300.json +7 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849795807500.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850272279500.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850757124200.json +7 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874851224506800.json +8 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_delay1.csv +930 -0
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace.log +1 -0
- 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 +8 -0
- cnhkmcp/untracked/arxiv_api.py +7 -0
- cnhkmcp/untracked/back_up/forum_functions.py +8 -0
- cnhkmcp/untracked/forum_functions.py +8 -0
- 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/forum_functions.py +8 -0
- 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 +8 -1
- cnhkmcp/untracked/platform_functions.py +7 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/.gitignore +14 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/SKILL.md +76 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/ace.log +0 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/ace_lib.py +1512 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/config.json +6 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/fundamental28_GLB_1_idea_1769874845978315000.json +10 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/helpful_functions.py +180 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/__init__.py +0 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/build_alpha_list.py +86 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/fetch_sim_options.py +51 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/load_credentials.py +93 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/parse_idea_file.py +85 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/process_template.py +80 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/resolve_settings.py +94 -0
- cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/sim_options_snapshot.json +414 -0
- cnhkmcp/untracked//321/211/320/225/320/235/321/207/342/225/234/320/276/321/205/320/231/320/235/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/230/320/241_/321/205/320/276/320/231/321/210/320/263/320/225/321/205/342/224/220/320/225/321/210/320/266/320/221/321/204/342/225/233/320/255/321/210/342/225/241/320/246/321/205/320/234/320/225.py +8 -0
- {cnhkmcp-2.3.2.dist-info → cnhkmcp-2.3.4.dist-info}/METADATA +1 -1
- {cnhkmcp-2.3.2.dist-info → cnhkmcp-2.3.4.dist-info}/RECORD +56 -22
- {cnhkmcp-2.3.2.dist-info → cnhkmcp-2.3.4.dist-info}/WHEEL +0 -0
- {cnhkmcp-2.3.2.dist-info → cnhkmcp-2.3.4.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-2.3.2.dist-info → cnhkmcp-2.3.4.dist-info}/licenses/LICENSE +0 -0
- {cnhkmcp-2.3.2.dist-info → cnhkmcp-2.3.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "subtract({value_04001q}, {cfsourceusea_value_04840a})",
|
|
3
|
+
"idea": "**Concept**: FX-Adjusted Cash Generation\n- **Sample Fields Used**: `value_04001q`, `cfsourceusea_value_04840a`\n- **Definition**: Net income starting line minus FX translation effects to isolate operational cash generation\n- **Why This Feature**: Removes non-operational currency noise to reveal underlying business performance\n- **Logical Meaning**: Core operational cash flow before translational accounting adjustments; pure operational signal\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. If FX effect is NaN (domestic company), the adjustment should be zero (no effect), not filled from other companies.\n- **Directionality**: Higher values indicate stronger core operational generation independent of currency games\n- **Boundary Conditions**: Large differences between adjusted and unadjusted indicate high FX volatility or international exposure",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"subtract(fnd28_cfq_value_04001q, fnd28_cfsourceusea_value_04840a)",
|
|
6
|
+
"subtract(fnd28_nddq1_value_04001q, fnd28_cfsourceusea_value_04840a)"
|
|
7
|
+
]
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "ts_corr({value_08316q}, ts_delay({value_08316q}, 252), 504)",
|
|
3
|
+
"idea": "**Concept**: Operating Margin Persistence\n- **Sample Fields Used**: `value_08316q`\n- **Definition**: Correlation between current operating margin and margin 252 days (1 year) prior, measured over 504 days (2 years)\n- **Why This Feature**: Measures the durability of competitive advantages; persistent margins indicate moats, volatile margins indicate commodity exposure\n- **Logical Meaning**: Autocorrelation of profitability; high values suggest structural industry position, low values suggest cyclical or competitive pressure\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. Correlation requires aligned time series; filling gaps creates spurious persistence.\n- **Directionality**: Higher values indicate persistent margins (quality); low values indicate unstable margins (risk)\n- **Boundary Conditions**: Values near 1 indicate highly predictable margins; near 0 indicate random walk margins; negative indicate mean-reverting margins",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"ts_corr(fnd28_newq_value_08316q, ts_delay(fnd28_newq_value_08316q, 252), 504)",
|
|
6
|
+
"ts_corr(fnd28_ratesq_value_08316q, ts_delay(fnd28_ratesq_value_08316q, 252), 504)"
|
|
7
|
+
]
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "ts_delta({growthratesa_value_08816a}, 63)",
|
|
3
|
+
"idea": "**Concept**: Earnings Growth Acceleration\n- **Sample Fields Used**: `growthratesa_value_08816a`\n- **Definition**: Change in annual EPS growth rate over a 63-day window to capture inflection points in momentum\n- **Why This Feature**: Markets price changes in growth rates, not just growth levels; acceleration signals improving business trends\n- **Logical Meaning**: Second derivative of earnings; positive values indicate growth is speeding up (positive momentum)\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. Annual growth rates update infrequently; filling NaNs with stale data creates look-ahead bias.\n- **Directionality**: Positive values indicate accelerating growth (bullish); negative indicates deceleration\n- **Boundary Conditions**: Extreme values occur near earnings turning points (negative to positive growth)",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"ts_delta(fnd28_growthratesa_value_08816a, 63)"
|
|
6
|
+
]
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "ts_std_dev(ts_delta({value_02300q}, 252), 63)",
|
|
3
|
+
"idea": "**Concept**: Asset Growth Consistency\n- **Sample Fields Used**: `value_02300q`\n- **Definition**: Standard deviation of year-over-year asset changes measured over 63 days (quarterly window)\n- **Why This Feature**: Distinguishes between steady organic expansion and lumpy acquisition-driven growth or asset sales\n- **Logical Meaning**: Captures the volatility of the company's investment policy; consistent growth suggests predictable capital allocation\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. Asset values are typically reported quarterly; interpolation between quarters may introduce false stability.\n- **Directionality**: Lower values indicate more stable asset base evolution (typically positive for forecasting)\n- **Boundary Conditions**: Zero indicates no asset changes; spikes indicate M&A activity or write-downs",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"ts_std_dev(ts_delta(fnd28_bsassetq_value_02300q, 252), 63)",
|
|
6
|
+
"ts_std_dev(ts_delta(fnd28_nddq1_value_02300q, 252), 63)"
|
|
7
|
+
]
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "ts_std_dev({value_08251q}, 20)",
|
|
3
|
+
"idea": "**Concept**: Coverage Stability Score\n- **Sample Fields Used**: `value_08251q`\n- **Definition**: Standard deviation of fixed charge coverage ratio over 20 days to identify companies with predictable debt servicing capacity\n- **Why This Feature**: Stable coverage indicates predictable cash generation and disciplined capital structure management, reducing refinancing risk\n- **Logical Meaning**: Measures the volatility of the safety margin for fixed obligations; low volatility suggests business model stability\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. For coverage ratios, NaN often indicates missing data rather than meaningful absence, so ts_backfill may be appropriate for short gaps.\n- **Directionality**: Lower values indicate more stable coverage (positive for credit quality)\n- **Boundary Conditions**: Values near 0 indicate constant coverage; extremely high values indicate earnings volatility or near-zero denominators",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"ts_std_dev(fnd28_newq_value_08251q, 20)",
|
|
6
|
+
"ts_std_dev(fnd28_ratesq_value_08251q, 20)"
|
|
7
|
+
]
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "ts_sum({cfsourceusea_value_04840a}, 63)",
|
|
3
|
+
"idea": "**Concept**: Cumulative FX Drag\n- **Sample Fields Used**: `cfsourceusea_value_04840a`\n- **Definition**: Rolling 63-day (quarterly) sum of FX effects on cash\n- **Why This Feature**: Distinguishes persistent currency headwinds from one-time translation adjustments\n- **Logical Meaning**: Sustained currency impact over a reporting period; indicates structural FX exposure\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. Cumulative zero over time suggests natural hedging; filling NaNs as zero may obscure this.\n- **Directionality**: Negative values indicate cumulative FX headwinds (reducing cash); positive indicates tailwinds\n- **Boundary Conditions**: Large negative sums indicate sustained currency depreciation impact on foreign operations",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"ts_sum(fnd28_cfsourceusea_value_04840a, 63)"
|
|
6
|
+
]
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "ts_sum({value_04001q}, 252)",
|
|
3
|
+
"idea": "**Concept**: Annual Earnings Accumulation\n- **Sample Fields Used**: `value_04001q`\n- **Definition**: Rolling 252-day (1-year) sum of net income starting line\n- **Why This Feature**: Captures cumulative earnings power over a fiscal period, smoothing quarterly volatility\n- **Logical Meaning**: Trailing twelve-month earnings proxy using cash flow statement starting point; measures sustained profitability\n- **is filling nan necessary**: we have some operators to fill nan value like ts_backfill() or group_mean() etc. however, in some cases, if the nan value itself has some meaning, then we should not fill it blindly since it may introduce some bias. so before filling nan value, we should think about whether the nan value has some meaning in the specific scenario. Summing over time requires handling missing quarters; gaps should not be filled to avoid overstating cumulative earnings.\n- **Directionality**: Higher values indicate stronger cumulative earnings performance (positive)\n- **Boundary Conditions**: Negative values indicate cumulative losses; sharp changes indicate earnings inflections",
|
|
4
|
+
"expression_list": [
|
|
5
|
+
"ts_sum(fnd28_cfq_value_04001q, 252)",
|
|
6
|
+
"ts_sum(fnd28_nddq1_value_04001q, 252)"
|
|
7
|
+
]
|
|
8
|
+
}
|