Fable clean up
This commit is contained in:
parent
3441a7e4af
commit
4ce8a4f41d
46 changed files with 642 additions and 911 deletions
|
|
@ -19,16 +19,8 @@ project:
|
|||
alt: Chart from a foreign exchange prediction experiment.
|
||||
---
|
||||
|
||||
In the autumn of 2019 I was an undergrad with a few weekends free and the quiet conviction that I could find a small edge on EUR/USD. The screenshots were flattering: the prediction (blue) hugged the actual rate (green) in a way that looked like skill. A linear regression in the frequency domain, dressed up. I did not trade real money with it, and that restraint is the only thing about the project that aged well.
|
||||
In the autumn of 2019 I was an undergrad with a few free weekends and the quiet conviction that I could find a small edge on EUR/USD. The screenshots that survive are flattering: the predicted rate in blue hugging the actual rate in green closely enough to look like skill. It was a linear extrapolation in the frequency domain wearing a nice coat.
|
||||
|
||||
The pipeline:
|
||||
The pipeline: smooth the price series, differentiate it, run a short-time Fourier transform over overlapped Hanning-windowed frames, extrapolate the frequency-domain coefficients forward, then invert everything back into a predicted price. A Python server (NumPy, SciPy, Flask) served the model; an MQL4 client sitting in a broker terminal called it and stood ready to place trades, if I'd dared. I never dared, and that restraint is the part of the project that aged best.
|
||||
|
||||
- Smooth the input series.
|
||||
- Differentiate.
|
||||
- Short-time Fourier transform with overlapped, Hanning-windowed frames.
|
||||
- Extrapolate the frequency-domain coefficients.
|
||||
- Invert everything back to a predicted price series.
|
||||
|
||||
A Python server (NumPy, SciPy, Flask) ran the model. An MQL4 client on a broker terminal called the server and would have placed trades if I'd dared.
|
||||
|
||||
What I actually learned: even a naive model can show a sometimes-profitable backtest, and that's the trap. The real game is built by people with co-located servers, microsecond ticks, and millions in infrastructure. This project taught me how far my edge wasn't.
|
||||
What the weekends actually bought me was a working understanding of the trap: even a naive model will hand you a sometimes-profitable backtest, and a sometimes-profitable backtest is the most persuasive wrong evidence there is. The people playing this game for real have co-located servers, microsecond ticks, and teams whose whole job is the thing I was doing between lectures. I didn't learn how to predict currencies. I learned, precisely and cheaply, how far my edge wasn't, which I've come to think is the best possible return on a project like this.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue