cnhkmcp 2.1.9__py3-none-any.whl → 2.2.0__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/vector_db/chroma.sqlite3 +0 -0
- cnhkmcp/untracked/skills/brain-data-feature-engineering/OUTPUT_TEMPLATE.md +325 -0
- cnhkmcp/untracked/skills/brain-data-feature-engineering/SKILL.md +263 -0
- cnhkmcp/untracked/skills/brain-data-feature-engineering/examples.md +244 -0
- cnhkmcp/untracked/skills/brain-data-feature-engineering/reference.md +493 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/SKILL.md +87 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/config.json +6 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/analyst15_GLB_delay1.csv +289 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/final_expressions.json +410 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588244.json +4 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588251.json +20 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588273.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588293.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588319.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588322.json +14 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588325.json +20 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588328.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588354.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588357.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588361.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588364.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588368.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588391.json +14 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588394.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588397.json +59 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588400.json +35 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588403.json +20 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588428.json +23 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588431.json +32 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588434.json +20 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588438.json +20 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588441.json +14 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588468.json +20 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/scripts/ace_lib.py +1514 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/scripts/fetch_dataset.py +107 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/scripts/helpful_functions.py +180 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/scripts/implement_idea.py +164 -0
- cnhkmcp/untracked/skills/brain-feature-implementation/scripts/merge_expression_list.py +88 -0
- cnhkmcp/untracked/skills/planning-with-files/SKILL.md +211 -0
- cnhkmcp/untracked/skills/planning-with-files/examples.md +202 -0
- cnhkmcp/untracked/skills/planning-with-files/reference.md +218 -0
- cnhkmcp/untracked/skills/planning-with-files/scripts/check-complete.sh +44 -0
- cnhkmcp/untracked/skills/planning-with-files/scripts/init-session.sh +120 -0
- cnhkmcp/untracked/skills/planning-with-files/templates/findings.md +95 -0
- cnhkmcp/untracked/skills/planning-with-files/templates/progress.md +114 -0
- cnhkmcp/untracked/skills/planning-with-files/templates/task_plan.md +132 -0
- {cnhkmcp-2.1.9.dist-info → cnhkmcp-2.2.0.dist-info}/METADATA +1 -1
- {cnhkmcp-2.1.9.dist-info → cnhkmcp-2.2.0.dist-info}/RECORD +55 -10
- {cnhkmcp-2.1.9.dist-info → cnhkmcp-2.2.0.dist-info}/WHEEL +0 -0
- {cnhkmcp-2.1.9.dist-info → cnhkmcp-2.2.0.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-2.1.9.dist-info → cnhkmcp-2.2.0.dist-info}/licenses/LICENSE +0 -0
- {cnhkmcp-2.1.9.dist-info → cnhkmcp-2.2.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# Case Study: BEME Dataset Analysis
|
|
2
|
+
|
|
3
|
+
## Dataset Overview
|
|
4
|
+
|
|
5
|
+
**Dataset ID**: BEME (Balance Sheet and Market Data)
|
|
6
|
+
**Description**: Book-to-market ratio and related financial metrics derived from balance sheet data combined with market data
|
|
7
|
+
**Region**: USA
|
|
8
|
+
**Universe**: TOP3000
|
|
9
|
+
**Delay**: 1
|
|
10
|
+
**Fields Analyzed**: 45 data fields
|
|
11
|
+
|
|
12
|
+
## Step 1: Field Deconstruction
|
|
13
|
+
|
|
14
|
+
### Key Fields Analyzed:
|
|
15
|
+
|
|
16
|
+
1. **book_value_per_share**
|
|
17
|
+
- **What is it?**: Accounting net asset value divided by shares outstanding
|
|
18
|
+
- **How measured?**: Quarterly financial statements (audited)
|
|
19
|
+
- **Time dimension**: Quarterly snapshots (lagged)
|
|
20
|
+
- **Business context**: Represents historical cost-based net worth
|
|
21
|
+
- **Generation logic**: (Total assets - Total liabilities) / shares_outstanding
|
|
22
|
+
- **Reliability**: High (audited), but backward-looking and conservative
|
|
23
|
+
|
|
24
|
+
2. **market_cap**
|
|
25
|
+
- **What is it?**: Share price × shares outstanding (total market valuation)
|
|
26
|
+
- **How measured?**: Real-time market data (continuous)
|
|
27
|
+
- **Time dimension**: Instantaneous, changes continuously
|
|
28
|
+
- **Business context**: Market participants' collective assessment of value
|
|
29
|
+
- **Generation logic**: Last traded price × total shares
|
|
30
|
+
- **Reliability**: Market-based, forward-looking, sentiment-influenced
|
|
31
|
+
|
|
32
|
+
3. **book_to_market**
|
|
33
|
+
- **What is it?**: Ratio of book value to market value
|
|
34
|
+
- **How measured?**: Calculated from book_value and market_cap
|
|
35
|
+
- **Time dimension**: Compares slow-moving (book) with fast-moving (market)
|
|
36
|
+
- **Business context**: Compares accounting perspectives with market perspective
|
|
37
|
+
- **Generation logic**: book_value_per_share / (market_cap / shares)
|
|
38
|
+
- **Reliability**: Useful but must understand both components
|
|
39
|
+
|
|
40
|
+
### Relationship Mapping:
|
|
41
|
+
|
|
42
|
+
**The Story**: BEME tells the story of how market perception relates to accounting reality
|
|
43
|
+
|
|
44
|
+
**Key Relationships**:
|
|
45
|
+
- book_to_market connects two valuation perspectives
|
|
46
|
+
- book_value changes slowly (quarterly, accountant-determined)
|
|
47
|
+
- market_cap changes quickly (continuously, market-determined)
|
|
48
|
+
- The gap represents market's view of intangible value
|
|
49
|
+
|
|
50
|
+
**Missing Pieces**:
|
|
51
|
+
- Why does the gap exist? (growth expectations, brand value, competitive position)
|
|
52
|
+
- How persistent is the gap? (temporary vs. structural)
|
|
53
|
+
- What causes gap changes? (earnings surprises, market sentiment, sector rotation)
|
|
54
|
+
|
|
55
|
+
## Step 2: Question-Driven Feature Generation
|
|
56
|
+
|
|
57
|
+
### Q1: "What is stable?" (Analyzing Invariance)
|
|
58
|
+
|
|
59
|
+
**Feature Concept**: "Market re-evaluation stability"
|
|
60
|
+
- **Implementation**: Rolling coefficient of variation of book_to_market over 60 days
|
|
61
|
+
- **Definition**: Stability of the market's valuation vs. book value assessment
|
|
62
|
+
- **Meaning**: Low CV = stable consensus, High CV = disagreement or uncertainty
|
|
63
|
+
- **Interpretation**:
|
|
64
|
+
- High stability: Market has made up its mind about the company's valuation
|
|
65
|
+
- Low stability: Market is uncertain or volatile in its assessment
|
|
66
|
+
- **Why it matters**: Stable mispricing (if book_to_market ≠ 1) can indicate structural factors
|
|
67
|
+
|
|
68
|
+
**Feature Concept**: "Book value reliability"
|
|
69
|
+
- **Implementation**: Autocorrelation of book_value changes over quarters
|
|
70
|
+
- **Definition**: Consistency of book value reporting
|
|
71
|
+
- **Meaning**: High autocorrelation = smooth reporting, Low = volatile changes
|
|
72
|
+
- **Interpretation**: Sudden changes may indicate accounting adjustments or write-downs
|
|
73
|
+
|
|
74
|
+
### Q2: "What is changing?" (Analyzing Dynamics)
|
|
75
|
+
|
|
76
|
+
**Feature Concept**: "Valuation gap velocity"
|
|
77
|
+
- **Implementation**: Rate of change of (market_cap - book_value × shares)
|
|
78
|
+
- **Definition**: How quickly is the valuation gap changing?
|
|
79
|
+
- **Meaning**: Fast increase = market becoming more optimistic or accounting write-downs
|
|
80
|
+
- **Interpretation**:
|
|
81
|
+
- Positive velocity and acceleration: Market optimism increasing (bubble forming?)
|
|
82
|
+
- Positive velocity, negative acceleration: Optimism plateauing
|
|
83
|
+
- **Why it matters**: Speed of gap change predicts sustainability
|
|
84
|
+
|
|
85
|
+
**Feature Concept**: "Book vs. market growth decomposition"
|
|
86
|
+
- **Implementation**: Separate book_value growth from market_cap growth
|
|
87
|
+
- **Definition**: book_growth = (BV_t - BV_{t-1}) / BV_{t-1}
|
|
88
|
+
- **Definition**: market_growth = (MC_t - MC_{t-1}) / MC_{t-1}
|
|
89
|
+
- **Meaning**: Which is driving the book_to_market change?
|
|
90
|
+
Interpretation**:
|
|
91
|
+
- book_growth > market_growth: Company building real value faster than market recognizes
|
|
92
|
+
- market_growth > book_growth: Market expectations running ahead of actual performance
|
|
93
|
+
- **Why it matters**: Distinguishes fundamental from sentiment-driven changes
|
|
94
|
+
|
|
95
|
+
### Q3: "What is anomalous?" (Analyzing Deviation)
|
|
96
|
+
|
|
97
|
+
**Feature Concept**: "Unusual valuation persistence"
|
|
98
|
+
- **Implementation**: Days since book_to_market crossed 1.0 (either direction)
|
|
99
|
+
- **Definition**: How long has the stock been valued differently from book?
|
|
100
|
+
- **Meaning**: Persistent premium/discount suggests structural factors
|
|
101
|
+
**Interpretation**:
|
|
102
|
+
- High persistence: Market has structural view (e.g., growth company, asset-light model)
|
|
103
|
+
- Low persistence: Temporary mispricing that corrects
|
|
104
|
+
- **Why it matters**: Persistence indicates conviction level
|
|
105
|
+
|
|
106
|
+
**Feature Concept**: "Book value surprise magnitude"
|
|
107
|
+
- **Implementation**: Actual book_value vs. expected (trend-based forecast)
|
|
108
|
+
- **Definition**: Unexpected change in book value
|
|
109
|
+
- **Meaning**: Large surprises may indicate accounting adjustments
|
|
110
|
+
- **Interpretation**: Positive surprise = asset appreciation, Negative = write-downs
|
|
111
|
+
|
|
112
|
+
### Q4: "What is combined?" (Analyzing Interactions)
|
|
113
|
+
|
|
114
|
+
**Feature Concept**: "Intangible value proportion"
|
|
115
|
+
- **Implementation**: (market_cap - book_value × shares) / enterprise_value
|
|
116
|
+
- **Definition**: What portion of enterprise value comes from non-book sources?
|
|
117
|
+
- **Meaning**: Quantifies growth expectations, brand, competitive advantages
|
|
118
|
+
**Interpretation**:
|
|
119
|
+
- High proportion: Value is in intangibles (risky but potentially high-growth)
|
|
120
|
+
- Low proportion: Value is in tangible assets (safer but limited growth)
|
|
121
|
+
- **Why it matters**: Helps understand the nature of the company's value
|
|
122
|
+
|
|
123
|
+
**Feature Concept**: "Valuation tug-of-war"
|
|
124
|
+
- **Implementation**: book_momentum × market_momentum (where momentum is rate of change)
|
|
125
|
+
- **Definition**: Are book and market moving in same or opposite directions?
|
|
126
|
+
- **Meaning**: Agreeing signals vs. diverging signals
|
|
127
|
+
**Interpretation**:
|
|
128
|
+
- Positive × positive: Both growing (healthy expansion)
|
|
129
|
+
- Positive × negative: Market doubts book value growth (potential concern)
|
|
130
|
+
- Negative × positive: Market optimistic despite book declines (turnaround story?)
|
|
131
|
+
- Negative × negative: Both declining (distressed situation)
|
|
132
|
+
|
|
133
|
+
### Q5: "What is structural?" (Analyzing Composition)
|
|
134
|
+
|
|
135
|
+
**Feature Concept**: "Value composition stability"
|
|
136
|
+
- **Implementation**: Rolling correlation between book_growth and market_growth
|
|
137
|
+
- **Definition**: How consistent is the relationship between accounting and market value?
|
|
138
|
+
- **Meaning**: Stable correlation = predictable relationship, Unstable = relationship breaking down
|
|
139
|
+
- **Interpretation**: Declining correlation suggests business model change or market re-evaluation
|
|
140
|
+
|
|
141
|
+
**Feature Concept**: "Asset backing sufficiency"
|
|
142
|
+
- **Implementation**: book_value / (market_cap / shares) when book_to_market > 1
|
|
143
|
+
- **Definition**: How much asset coverage for market valuation?
|
|
144
|
+
- **Meaning**: Mercantile/asset-heavy businesses should have high ratios
|
|
145
|
+
- **Why it matters**: Helps identify when market undervaluation may be justified (e.g., declining industry)
|
|
146
|
+
|
|
147
|
+
### Q6: "What is cumulative?" (Analyzing Accumulation)
|
|
148
|
+
|
|
149
|
+
**Feature Concept**: "Accumulated valuation premium/discount"
|
|
150
|
+
- **Implementation**: Time-weighted sum of (market_cap - book_value) over 1 year
|
|
151
|
+
- **Definition**: Cumulative deviation from book value over time
|
|
152
|
+
- **Meaning**: Persistent premium = sustained growth expectations
|
|
153
|
+
**Interpretation**:
|
|
154
|
+
- High positive accumulation: Market consistently optimistic
|
|
155
|
+
- Near zero: Market fluctuates around book value
|
|
156
|
+
- High negative accumulation: Market consistently pessimistic
|
|
157
|
+
|
|
158
|
+
**Feature Concept**: "Book quality decay"
|
|
159
|
+
- **Implementation**: Age of assets (based on depreciation schedules) weighted by value
|
|
160
|
+
- **Definition**: How old/stale is the book value?
|
|
161
|
+
- **Meaning**: Older book values less reliable (assets may be obsolete)
|
|
162
|
+
- **Why it matters**: Book value quality affects interpretation of book_to_market
|
|
163
|
+
|
|
164
|
+
### Q7: "What is relative?" (Analyzing Comparison)
|
|
165
|
+
|
|
166
|
+
**Feature Concept**: "Sector-relative valuation gap"
|
|
167
|
+
- **Implementation**: Company book_to_market - sector median book_to_market
|
|
168
|
+
- **Definition**: How does valuation gap compare to industry peers?
|
|
169
|
+
- **Meaning**: Sector-relative premium or discount
|
|
170
|
+
**Interpretation**:
|
|
171
|
+
- Premium vs. sector: Justified if company has better prospects
|
|
172
|
+
- Discount vs. sector: Potential opportunity or justified by worse fundamentals
|
|
173
|
+
|
|
174
|
+
**Feature Concept**: "Relative book value trend"
|
|
175
|
+
- **Implementation**: Company's book_growth - sector average book_growth
|
|
176
|
+
- **Definition**: Is company building value faster or slower than peers?
|
|
177
|
+
- **Meaning**: Competitive positioning in asset creation
|
|
178
|
+
|
|
179
|
+
### Q8: "What is essential?" (Analyzing Essence)
|
|
180
|
+
|
|
181
|
+
**Feature Concept**: "Core asset efficiency"
|
|
182
|
+
- **Implementation**: book_value / total_assets (stripping out intangibles/goodwill)
|
|
183
|
+
- **Definition**: What portion of assets are "hard" vs. "soft"?
|
|
184
|
+
- **Meaning**: Asset-light businesses have lower ratios
|
|
185
|
+
**Interpretation**:
|
|
186
|
+
- Low ratio: Intangible-based business (software, brands, networks)
|
|
187
|
+
- High ratio: Asset-heavy business (manufacturing, real estate)
|
|
188
|
+
- **Why it matters**: Affects interpretation of book_to_market (intangibles not on books)
|
|
189
|
+
|
|
190
|
+
**Feature Concept**: "Fundamental value anchor"
|
|
191
|
+
- **Implementation**: book_value plus time-adjusted retained earnings
|
|
192
|
+
- **Definition**: Book value adjusted for recent profitability
|
|
193
|
+
- **Meaning**: Asset base plus earnings power
|
|
194
|
+
**Why it's essential**: Combines two fundamental value sources
|
|
195
|
+
|
|
196
|
+
## Step 3: Feature Documentation Table
|
|
197
|
+
|
|
198
|
+
| Feature Concept | Fields Used | Question Answered | Logical Meaning | Directionality | Boundary Conditions |
|
|
199
|
+
|----------------|-------------|-------------------|-----------------|----------------|---------------------|
|
|
200
|
+
| Market re-evaluation stability | book_to_market | What is stable? | Consensus stability | Low=stable, High=disagreement | Zero=no variation, ∞=unstable |
|
|
201
|
+
| Valuation gap velocity | market_cap, book_value | What is changing? | Gap change rate | Positive=widening, Negative=narrowing | Zero=no change |
|
|
202
|
+
| Unusual valuation persistence | book_to_market | What is anomalous? | Premium/discount persistence | High=persistent belief | Zero=fluctuating |
|
|
203
|
+
| Intangible value proportion | market_cap, book_value | What is combined? | Non-book value share | High=intangible-based | Zero=all tangible |
|
|
204
|
+
| Value composition stability | book_growth, market_growth | What is structural? | Relationship consistency | High=stable relationship | Zero=breaking down |
|
|
205
|
+
| Accumulated premium/discount | market_cap - book_value | What is cumulative? | Time-weighted deviation | High=consensus, Around zero=fluctuation | Negative=persistent pessimism |
|
|
206
|
+
| Sector-relative gap | book_to_market, sector median | What is relative? | Peer comparison | Positive=premium to peers | Zero=sector average |
|
|
207
|
+
| Core asset efficiency | book_value, total_assets | What is essential? | Hard asset proportion | High=asset-heavy, Low=intangible-based | 0-1 range |
|
|
208
|
+
|
|
209
|
+
## Step 4: Implementation Insights
|
|
210
|
+
|
|
211
|
+
### Why This Approach Works:
|
|
212
|
+
|
|
213
|
+
1. **Novel**: Not just "moving averages of book_to_market" but deep conceptual features
|
|
214
|
+
2. **Meaningful**: Each feature answers a specific question about the data
|
|
215
|
+
3. **Testable**: Can validate if features capture what they claim to
|
|
216
|
+
4. **Actionable**: Clear interpretation guides usage
|
|
217
|
+
|
|
218
|
+
### Key Discoveries from Analysis:
|
|
219
|
+
|
|
220
|
+
1. **book_to_market alone is incomplete**: Need to understand both components
|
|
221
|
+
2. **Gap dynamics matter**: How the gap changes is more informative than level
|
|
222
|
+
3. **Persistence is informative**: Long-term premium/discount suggests structural views
|
|
223
|
+
4. **Comparative context essential**: Sector-relative measures remove noise
|
|
224
|
+
5. **Asset composition affects interpretation**: Intangible-heavy businesses naturally have low book values
|
|
225
|
+
|
|
226
|
+
### Suggestions for Further Analysis:
|
|
227
|
+
|
|
228
|
+
1. **Add earnings data**: Connect book_to_market with profitability metrics
|
|
229
|
+
2. **Add growth data**: Separate growth vs. value stories
|
|
230
|
+
3. **Add sector context**: Industry cycles affect interpretation
|
|
231
|
+
4. **Add sentiment data**: Market mood explains divergences
|
|
232
|
+
5. **Add fundamental data**: ROE, margins, leverage affect valuation
|
|
233
|
+
|
|
234
|
+
## Conclusion
|
|
235
|
+
|
|
236
|
+
This analysis demonstrates how questioning data essence and asking fundamental questions generates meaningful features, not just mathematical transformations. Each feature:
|
|
237
|
+
|
|
238
|
+
- Answers a specific question
|
|
239
|
+
- Has clear logical meaning
|
|
240
|
+
- Is grounded in data reality
|
|
241
|
+
- Avoids conventional patterns
|
|
242
|
+
- Reveals new insights
|
|
243
|
+
|
|
244
|
+
The book_to_market ratio becomes more than just "value indicator"—it becomes a window into market psychology, accounting reliability, and fundamental vs. sentiment-driven valuation.
|