mirror of
https://github.com/onestardao/WFGY.git
synced 2026-04-28 03:29:51 +00:00
Update README.md
This commit is contained in:
parent
c5098a488c
commit
4769e5b2bf
1 changed files with 156 additions and 74 deletions
|
|
@ -14,15 +14,17 @@ Use: When a user asks about TU Q101 equity premium experiments or wants
|
|||
|
||||
# TU Q101 MVP: toy equity premium tension
|
||||
|
||||
_Status: work in progress. This page records early MVP designs and will be updated after the first notebooks run._
|
||||
_Status: MVP A implemented (offline, single cell). MVP B is design only and will be added later._
|
||||
|
||||
> This page sketches toy experiments for TU Q101.
|
||||
> The goal is to encode the equity premium puzzle as a tension between
|
||||
> simple models and simple observed targets, not to resolve real markets.
|
||||
> TU Q101 encodes the equity premium puzzle as a tension between
|
||||
> simple consumption based models and stylised target bands for
|
||||
> long run equity premia.
|
||||
> The goal is to expose where the puzzle appears in tiny toy worlds,
|
||||
> not to resolve real markets.
|
||||
|
||||
**Navigation**
|
||||
|
||||
- [← Back to Experiments index](../README.md)
|
||||
- [← Back to Experiments index](../README.md)
|
||||
- [← Back to Event Horizon (WFGY 3.0)](../../EventHorizon/README.md)
|
||||
|
||||
---
|
||||
|
|
@ -31,68 +33,158 @@ _Status: work in progress. This page records early MVP designs and will be updat
|
|||
|
||||
TU Q101 looks at the equity premium puzzle as a structured mismatch between
|
||||
|
||||
- predicted premia from simple asset pricing models, and
|
||||
- empirical target bands for long run equity premia.
|
||||
- predicted premia from simple asset pricing models, and
|
||||
- empirical style targets for long run equity premia.
|
||||
|
||||
The MVP here uses small simulated economies with:
|
||||
The MVP here uses small simulated economies with
|
||||
|
||||
- consumption processes,
|
||||
- risk free and risky assets,
|
||||
- consumption processes,
|
||||
- risk free and risky assets,
|
||||
- representative agents with utility functions,
|
||||
|
||||
and tracks tension observables when the model cannot match observed premia without extreme parameters.
|
||||
|
||||
Users can understand the result just by reading this page.
|
||||
Running the Colab notebook is only required if you want to reproduce the numbers or modify parameters.
|
||||
|
||||
---
|
||||
|
||||
## 1. Experiment A: simple consumption based asset pricing model
|
||||
|
||||
### 1.1 Research question
|
||||
|
||||
If we build a minimal consumption based asset pricing model, can we define a scalar observable T_premium that
|
||||
If we build a minimal consumption based asset pricing model, can we define a scalar observable `T_premium` that
|
||||
|
||||
- is small when predicted equity premia and volatility sit inside a plausible band,
|
||||
- and increases as the model requires extreme risk aversion or unrealistic parameters.
|
||||
- is small when predicted equity premia and volatility stay inside a plausible band,
|
||||
- and grows when the model only matches targets by pushing risk aversion or other parameters into unrealistic regions.
|
||||
|
||||
### 1.2 Setup
|
||||
### 1.2 Notebook and Colab entry
|
||||
|
||||
The notebook will:
|
||||
**Notebook**
|
||||
|
||||
- Simulate a simple consumption growth process over many periods.
|
||||
- Define two assets:
|
||||
- `TensionUniverse/Experiments/Q101_MVP/Q101_A.ipynb`
|
||||
|
||||
- a risk free asset with fixed return,
|
||||
- a risky asset with return tied to consumption growth.
|
||||
**One click Colab**
|
||||
|
||||
- Use a basic power utility or similar to compute implied prices.
|
||||
- From these, derive
|
||||
[](https://colab.research.google.com/github/onestardao/WFGY/blob/main/TensionUniverse/Experiments/Q101_MVP/Q101_A.ipynb)
|
||||
|
||||
- the implied equity premium,
|
||||
- volatility of returns,
|
||||
- required risk aversion parameter to match a chosen target premium.
|
||||
The notebook is a single cell script.
|
||||
All runs are fully offline. No API key is needed.
|
||||
|
||||
Define T_premium using:
|
||||
### 1.3 Model and tension observable
|
||||
|
||||
- the squared deviation between implied and target equity premium,
|
||||
- penalties for risk aversion parameters outside a reasonable range,
|
||||
- penalties when volatility patterns are inconsistent with empirical targets.
|
||||
The notebook simulates three tiny consumption based worlds and computes a scalar tension observable `T_premium` for each world.
|
||||
|
||||
### 1.3 Expected pattern
|
||||
Core ingredients:
|
||||
|
||||
We expect:
|
||||
- A lognormal consumption growth process.
|
||||
- Two assets:
|
||||
- a risk free asset with return `R_f`,
|
||||
- a risky asset whose payoff is correlated with consumption.
|
||||
- A representative agent with power utility and risk aversion `gamma`.
|
||||
- Standard consumption based pricing:
|
||||
- stochastic discount factor `m = beta * g^{-gamma}`,
|
||||
- prices from expectations of `m` and payoffs,
|
||||
- equity premium `E[R_e] - R_f` and volatility `vol`.
|
||||
|
||||
- toy configurations that generate plausible premia with reasonable parameters to have lower T_premium,
|
||||
- toy configurations that only match observed premia with extreme risk aversion to have higher T_premium.
|
||||
For each world the notebook:
|
||||
|
||||
The point is to show an explicit tension between model structure and target bands, even in a simple setup.
|
||||
1. Sweeps `gamma` over a grid from 0.5 to 20.
|
||||
2. For every `gamma`, computes the implied equity premium and volatility.
|
||||
3. Picks `gamma*` that gets closest to a target long run equity premium.
|
||||
|
||||
### 1.4 How to reproduce
|
||||
Target band and plausible parameter region (stylised):
|
||||
|
||||
After `Q101_A.ipynb` is created:
|
||||
- Target long run equity premium: **6.0%**.
|
||||
- Plausible risk aversion range for the representative agent: **gamma in [1.0, 5.0]**.
|
||||
- Premium mismatch is scaled at **2.0% per unit** in the tension score.
|
||||
|
||||
1. Open the notebook.
|
||||
2. Read the header comments describing the consumption process, assets and parameter ranges.
|
||||
3. Run the simulation and compute T_premium across parameter sweeps.
|
||||
4. Inspect the table of results and plots.
|
||||
The scalar observable `T_premium` combines three components at `gamma*`:
|
||||
|
||||
1. Premium mismatch
|
||||
- absolute deviation between implied and target premium, scaled by 2% per unit.
|
||||
2. Risk aversion penalty
|
||||
- zero if `gamma*` is in [1, 5],
|
||||
- linear penalty when `gamma*` lies outside this plausible band.
|
||||
3. Volatility penalty
|
||||
- linear penalty when the realised volatility falls outside a simple per world target interval.
|
||||
|
||||
Weights are chosen so that premium mismatch and risk aversion dominate, with volatility as a weaker regulariser.
|
||||
|
||||
Configured scenarios:
|
||||
|
||||
- `no_puzzle`
|
||||
High volatility world with strongly correlated risky asset. A moderate `gamma` can support a six percent equity premium without stress.
|
||||
|
||||
- `realistic_puzzle`
|
||||
Low volatility consumption world that is closer to real data. We still demand a six percent equity premium. The model tends to require very large `gamma` values to get close.
|
||||
|
||||
- `anemic_asset`
|
||||
Low volatility risky asset. Consumption volatility is low and the risky asset itself is not very volatile. Asking for six percent premium here is almost impossible without extreme parameters.
|
||||
|
||||
### 1.4 First reference run
|
||||
|
||||
All simulations complete in a single cell.
|
||||
The notebook prints a summary table sorted by `T_premium` (lower means closer to a plausible world):
|
||||
|
||||
- Target premium: **6.0%** for all worlds.
|
||||
- Plausible `gamma` band: **[1.0, 5.0]**.
|
||||
|
||||
Key outputs from the reference run:
|
||||
|
||||
- **no_puzzle**
|
||||
- `gamma* ≈ 3.46` (inside plausible band)
|
||||
- model premium ≈ **5.83%** (difference −0.17%)
|
||||
- volatility ≈ **0.22**
|
||||
- `T_premium ≈ 0.035`
|
||||
|
||||
- **realistic_puzzle**
|
||||
- `gamma* = 20.0` (hitting the right edge of the grid)
|
||||
- model premium ≈ **4.53%** (difference −1.47%)
|
||||
- volatility ≈ **0.28**
|
||||
- `T_premium ≈ 1.52`
|
||||
|
||||
- **anemic_asset**
|
||||
- `gamma* = 20.0`
|
||||
- model premium ≈ **1.28%** (difference −4.72%)
|
||||
- volatility ≈ **0.11**
|
||||
- `T_premium ≈ 2.14`
|
||||
|
||||
Quick interpretation:
|
||||
|
||||
- In the **no_puzzle** world, a moderate risk aversion around three and a half already delivers a premium very close to six percent, with reasonable volatility. Tension is almost zero.
|
||||
- In the **realistic_puzzle** world, matching a six percent premium demands extreme risk aversion. Even at `gamma = 20` the model only reaches about four and a half percent. Tension is clearly elevated.
|
||||
- In the **anemic_asset** world, the risky asset is too quiet. The model cannot get anywhere near six percent premium even at the most extreme `gamma` on the grid. Tension is highest.
|
||||
|
||||
This behaviour is also visible in the plots saved by the notebook:
|
||||
|
||||

|
||||
|
||||
The premium versus `gamma` plot shows that only the high volatility world passes through the six percent target band for plausible `gamma` values.
|
||||
The low volatility and anemic asset worlds stay far below the target even when `gamma` is pushed to extremes.
|
||||
|
||||

|
||||
|
||||
The `T_premium` bar chart summarises the story in a single view:
|
||||
|
||||
- `no_puzzle` sits near zero tension,
|
||||
- `realistic_puzzle` has moderate tension,
|
||||
- `anemic_asset` has the largest tension.
|
||||
|
||||
### 1.5 How to reproduce
|
||||
|
||||
To reproduce or modify the experiment:
|
||||
|
||||
1. Open `Q101_A.ipynb` in Colab using the badge above.
|
||||
2. Read the header block that explains the three worlds, target band and tension definition.
|
||||
3. Run the single cell to:
|
||||
- simulate all three worlds,
|
||||
- sweep `gamma`,
|
||||
- compute `T_premium` and print the summary table,
|
||||
- regenerate the two plots and save them as
|
||||
- `Q101A_premium_vs_gamma.png`
|
||||
- `Q101A_T_premium.png`.
|
||||
4. Adjust parameters if you want to explore variants, for example different target premia or different volatility ranges.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -100,44 +192,34 @@ After `Q101_A.ipynb` is created:
|
|||
|
||||
### 2.1 Research question
|
||||
|
||||
Can we use a language model to evaluate narrative explanations for the equity premium
|
||||
and compare them against the toy numerical model, defining a narrative tension observable T_narrative.
|
||||
Can we use a language model to evaluate narrative explanations for the equity premium and compare them against the toy numerical model, defining a narrative tension observable `T_narrative`.
|
||||
|
||||
### 2.2 Setup
|
||||
### 2.2 Setup (design only)
|
||||
|
||||
The notebook will:
|
||||
The planned notebook will:
|
||||
|
||||
- Generate a small set of narrative hypotheses, for example
|
||||
|
||||
- rare disasters,
|
||||
- habit formation,
|
||||
- institutional constraints.
|
||||
|
||||
- For each configuration of the toy numerical model, produce a short summary describing its mechanism.
|
||||
- Ask a language model to judge which narrative hypothesis best fits the numerical summary.
|
||||
- Generate a small set of narrative hypotheses, for example
|
||||
- rare disasters,
|
||||
- habit formation,
|
||||
- institutional constraints.
|
||||
- For each configuration of the toy numerical model, produce a short summary describing its mechanism.
|
||||
- Ask a language model to judge which narrative hypothesis best fits the numerical summary.
|
||||
- Extract consistency scores.
|
||||
|
||||
Define T_narrative as a function of:
|
||||
`T_narrative` will be defined as a function of:
|
||||
|
||||
- mismatch between assigned narrative and true simulated mechanism,
|
||||
- low consistency scores.
|
||||
- mismatch between assigned narrative and true simulated mechanism,
|
||||
- low consistency scores when the narrative does not fit the numerical story.
|
||||
|
||||
### 2.3 Expected pattern
|
||||
|
||||
We expect:
|
||||
|
||||
- lower T_narrative when numerical mechanisms and selected narratives match,
|
||||
- higher T_narrative when narratives and numerical structure disagree.
|
||||
- lower `T_narrative` when numerical mechanisms and selected narratives match,
|
||||
- higher `T_narrative` when narratives and numerical structure disagree.
|
||||
|
||||
This bridges TU Q101 with narrative level explanations at the effective layer.
|
||||
|
||||
### 2.4 How to reproduce
|
||||
|
||||
Once `Q101_B.ipynb` exists:
|
||||
|
||||
- open the notebook,
|
||||
- inspect the narrative set and prompt format,
|
||||
- run the evaluation and compare T_narrative across scenarios.
|
||||
This bridges TU Q101 with narrative level explanations at the effective layer.
|
||||
Implementation of `Q101_B.ipynb` is deferred to a later iteration.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -145,20 +227,20 @@ Once `Q101_B.ipynb` exists:
|
|||
|
||||
TU Q101 treats the equity premium puzzle as a tension between
|
||||
|
||||
- simple asset pricing models,
|
||||
- empirical target bands,
|
||||
- simple asset pricing models,
|
||||
- empirical style target bands,
|
||||
- and narrative explanations.
|
||||
|
||||
This MVP page provides:
|
||||
This MVP page currently provides:
|
||||
|
||||
- a minimal numerical experiment with T_premium,
|
||||
- a minimal narrative experiment with T_narrative.
|
||||
- a minimal numerical experiment with `T_premium` that shows where a toy model world behaves plausibly and where it runs into the equity premium puzzle,
|
||||
- a planned narrative experiment with `T_narrative` that will connect numerical mechanisms to verbal stories.
|
||||
|
||||
Both are meant as starting points, not as final economic models.
|
||||
Both are starting points at the effective layer, not final economic models.
|
||||
|
||||
For the broader project:
|
||||
|
||||
- [Experiments index](../README.md)
|
||||
- [Experiments index](../README.md)
|
||||
- [Event Horizon (WFGY 3.0)](../../EventHorizon/README.md)
|
||||
|
||||
---
|
||||
|
|
@ -167,6 +249,6 @@ For the broader project:
|
|||
|
||||
The design of this MVP follows:
|
||||
|
||||
- [TU Effective Layer Charter](../../Charters/TU_EFFECTIVE_LAYER_CHARTER.md)
|
||||
- [TU Encoding and Fairness Charter](../../Charters/TU_ENCODING_AND_FAIRNESS_CHARTER.md)
|
||||
- [TU Effective Layer Charter](../../Charters/TU_EFFECTIVE_LAYER_CHARTER.md)
|
||||
- [TU Encoding and Fairness Charter](../../Charters/TU_ENCODING_AND_FAIRNESS_CHARTER.md)
|
||||
- [TU Tension Scale Charter](../../Charters/TU_TENSION_SCALE_CHARTER.md)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue