#1 Design trading strategy #2 Find proof that strategy doesn't work. #3 If you can't do #2 implement strategy with risk management.
Nine steps, each very dependent on what had transpired in the prior step,....... • Model market. (Form a statement of "How things work" against available evidence.) • Assess model strengths. (e.g., "robust" profit generation) (Separately then,...) • Assess model weaknesses. (e.g., minimum loss excursions) • Design strategy that exploits model strengths subject to given weakness' exposure. • Backtest. • Assess statistical performance. (Re-assessing strengths & weaknesses, really.) • Assess/implement/test possible tweaks. • Walk-forward, in-market. (Lastly,...) • Re-assess market+model; recycle, y'all.
lol, I kind of agree The Underpant Gnomes bear a striking resemblance to the vast majority of people trying to dive into algotrading (myself included). Maybe with the modification "Design, implement, and run trading strategy" as Step 1.
To clear possible confusions, zero sum game and fair game are not one and the same thing, right? Zero sum game means (afaik), that all available money is distributed among participants. So if there are 10 participants in the game, each puts $10 on the table, at the end there will still be $100 overall, only possibly distributed differently. Like one guy having won $100 and 9 guys having lost all. On the other hand probability theory defines a "fair game" as a process where there's an equal chance of winning or losing. Flipping a coin is an example. Another example which applies to options is a geometric Brownian motion (GBM) of ZERO mean (drift): https://en.wikipedia.org/wiki/Geometric_Brownian_motion Regarding stock moves, GBM describes them well enough and a lot seem to also revolve around zero mean. Beating a fair game (in the probabilistic sense) is ... impossible. Not that I haven't tried, lol If GBM with zero mean is too complicated for you to start, just use the coin flip analogy because in the end it's about the same thing. But in the end, how can you beat a truly fair (50%) coin flip? As far as I know there's one and only one "strategy" that can do that and only theoretically: the martingale. Start with a small bet and everytime you lose, double the stake. Theoretically, after like 20,30,40,50 trials, the coin should flip in your favor and you win your ORIGINAL stake back. You need 2^TRIALS * STAKE money, if original stake is $1 and trials = 30, that's 1 billion dollars btw! Otherwise if game is not fair, you can beat it by finding in which way it's not fair (your edge). In practice the market is not a fair game, that's the good part, so you can make money deterministically without ruining yourself through a martingale. The hard part is finding out in which way it isn't fair (and keeping it for yourself if you wanna milk that cow).
That's an interesting point as it goes against the usual way of thinking. In software development it's the QA (testers) approach. Programmer implements a feature (trading strategy analogy), performs a smoke test in a controlled environment and carefully choreographed steps to show it "works" and would happily ship it to the customer and cash his paycheck. But give it to QA and it only takes a few clicks to crash, freeze or wipe all data in the application. In software development the programmer will try to cover his ass saying "you're using it wrong!". Strategy gurus will say "your biorythm wasn't properly aligned with the stars when you read those Elliot Waves".
Well surely: - Regardless what you lump in step 1, there's a huge question mark between that and "Profit!". - This is all kinda funny And speaking of funny... I gotta ask, to be sure. This is humor, right? Lambo's stands for "Lamborghinis" and "muh" is a way of mispronouncing "my". This is quite an elaborate decomposition of the "?" step in The Underpant Gnomes pipeline There are quite a few attempts at building and monetizing this pipeline, some of them still available, some (quantopian) failed. Here's a few: - https://arcadetrader.com/ - https://www.quantconnect.com/ - https://www.algotrader.com/ (for professional finance) - [Defunct] Quantopian I intend to build (program) yet another one, roughly I plan to support the following: 1) Import and visualize historical market data. You need data to base your research on, and the data I have access to (relatively cheaply) has errors in it. Errors are a huge problem in backtests because they generate false positives. Of course you analyze those results by hand afterwards and eventually figure out it's garbage, but it's time consuming and annoying to validate data by hand. So first useful feature (discussed here previously) will be curation of data. Ideally automatic but I'm also considering manual curation where a human being steps through each sample in the dataset and validates it (could be done on a few major names like SPX, QQQ etc). 2) Define trading strategies in such a way that they can be expressed in a fully algorithmic (programmatic) matter. This way you can backtest them on a wide set of underliers and timeframes, essentially: Also useful in ruling out "discretionary" strategies that require some key human ingredient that can't be grasped by a computer. 3) After passing the steps outlined by TomMcGinnis (will elaborate on those later), move strategy from "backtest" phase to "staging" phase. Run live tests on a virtual account connected to the market through an API. I'll support Interactive Brokers for starters since it's the only decent API available at retail level and covers options. (Do other brokers offer a decent API that covers options? I'm not aware of any). You want 3 things out of the staging phase: a) The results from the live setup match the bactkests. b) You're configuring and tweaking actual parameters you will use live. Capital you will use on every trade. Number of orders you'll send. c) You correctly handle actual market events. What you do when you get partial fills and market moves away. Connection gets disconnected and reconnected again. Market moves like crazy and could cause your engine to trigger multiple times: do you have safeguards for that? 4) Run live. If all fine by step 4, moving from staging to live should be just a simple change in some configuration setting. IP of the endpoint the strategy application connects to. So this is the basic setup I'm gonna cover, but I still have some administrative and philosophical subjects to debate, hope you will participate