Prop-Trading Research Platform
Бюджэт: $100.0
FIXED /
⭐ 4.95 (67)
United Kingdom
financial-modeling, forecasting, statistics, quantitative-analysis, quantitative-finance, python
Пераважная кваліфікацыя
- Вопыт: Сярэдні
We need a developer to build a local platform that tests trading strategies on 10–15 years of CFD data and tells us, with statistical evidence, whether each would pass and profit from prop-firm challenges.
## The end product
- A research platform that runs entirely on one computer: no cloud backtesting service, no subscription.
- A simple local interface (a web app in the browser, plus a command line). Day to day we do two things:
- **Add a strategy:** fill in one short template file.
- **Run an experiment:** pick a strategy, instrument, timeframe, prop firm(s) and risk per trade, then press Run.
- Each run produces a report with a plain pass/fail verdict that answers four questions:
- Is there an edge after realistic costs?
- Is it real and robust, or luck and overfitting?
- What is the probability of passing each prop firm's challenge?
- What is the expected profit or loss of buying one?
- Every run is saved, can be reproduced exactly, and can be compared side by side with others.
- Strategies that pass come to us to turn into a MetaTrader 5 trading robot, so every result must export cleanly (parameters, signals, trade list).
## The pipeline
"Pipeline" means the fixed path every strategy idea takes, from raw data to a verdict. The interface starts it; every step after choosing the strategy runs automatically.
1. **Data:** load the CSV history for the chosen instrument and timeframe.
2. **Strategy:** the chosen strategy file turns price bars into trade signals.
3. **Backtest:** simulate every trade with real bid/ask prices, costs and our risk limits.
4. **Statistical tests:** check the edge is real, robust and not the result of overfitting.
5. **Prop-firm simulation:** replay the results through each firm's rules to estimate pass odds and value.
6. **Gate and report:** one pass/fail verdict with reasons; the run is saved.
An idea that fails stops at step 6, which is the system working. Ideas that pass come to us, and we build and test the live trading robot ourselves; that is outside this project.
## Data required
- **History:** 10–15 years of 1-minute **bid and ask** OHLC bars per instrument, stored locally as a static bank that never silently changes.
- **Instruments:**
- index CFDs: US500, US100, US30, GER40, UK100, JP225;
- FX majors and main crosses;
- gold, silver and oil;
- around 50 US stock CFDs;
- crypto optional.
- **Sources:** the developer provides the data, ideally history they already hold. We won't pay for data separately. It is delivered as downloaded CSV files (e.g. one per instrument per year), which the platform imports.
- **Versioned snapshots:** the imported CSVs are frozen with checksums (a faster internal format is fine), so any past result can be reproduced on the exact same data.
- **Automatic quality checks:**
- gaps and duplicate timestamps;
- crossed quotes (ask below bid) and spikes;
- time-zone and daylight-saving errors.
- **Instrument metadata per broker:** contract size, tick value, lot step, leverage, spread by hour, commission, overnight swaps, dividend adjustments, trading sessions and holidays.
## Strategies
- One template file per strategy. It declares:
- its parameters, each with a default, a range and a step;
- a function that turns price bars into signals.
- Each bar's signal holds:
- direction and size;
- a stop distance (required);
- optionally, a take-profit, so reward:risk (2:1, 3:1…) is just a parameter;
- optionally, a trailing stop or a time exit.
- A signal made at a bar's close is acted on at the next bar's open. No future data, ever.
- Every new strategy is checked automatically for lookahead before it can run.
- Both rule-based and machine-learning strategies are supported.
- Five example strategies ship with the platform.
## Backtest engine and risk manager
- **Fills:** at bid/ask, with spread, slippage, commission and overnight swaps. Price gaps fill at the open.
- **Stops and targets** are checked inside every bar. If one bar touches both, the engine uses the 1-minute data to decide which came first; if still unclear, it assumes the stop.
- **Sizing:** a set % of the account risked per trade, converted to lots with the broker's tick value, capped by leverage and the firm's limits.
- **Intrabar equity:** the engine records the lowest equity inside every bar, because prop firms check losses on every tick.
- **Our own risk manager** sits inside the firm's limits:
- daily and total loss stops, tighter than the firm's;
- flat before weekends or breaks the firm forbids holding through;
- no trading around listed news events.
It must stay simple enough for us to copy into our live trading robot. This design is open to the developer's suggestions.
- **Speed:** 15 years of 1-minute bars for one instrument in under 10 seconds on an 8-core PC.
## Prop-firm rules and challenge simulator
- **Generic:** each firm's programme is one config file. Adding a firm means filling in a file, not writing code.
- **The rule format must cover:**
- phases and profit targets, minimum and maximum days, and what counts as a trading day;
- daily loss limit: measured from balance or equity, and the firm's reset time;
- maximum loss: static, trailing intraday, trailing end-of-day, or trailing until it locks;
- consistency rules, e.g. best day no more than X% of total profit;
- restrictions on holding overnight, over weekends or through news;
- lot and leverage limits, and inactivity rules;
- payouts, profit split, fees and refunds.
- Each file records its source link and last-verified date. Files older than 30 days are flagged, because firms change rules often.
- **Start with:** FTMO, FundedNext, FundingPips and The5ers at the 10k account size. Cover every challenge type each offers (1-step, 2-step, 3-step, instant funding) and every account type (e.g. standard and swing). Other sizes are a one-number change.
- **Simulator:**
- starts a challenge on every trading day of history, each phase on a fresh account;
- adds Monte Carlo paths;
- sweeps risk per trade to find the best setting for each firm.
- **Zero-edge baseline:** the same trades with random directions. With no edge, about a third of attempts still pass a 10%-then-5% two-phase challenge, so a pass rate only counts above this.
- **Output per firm:**
- pass probability per phase, days to pass, and why attempts fail;
- expected payouts, and expected value per purchase with confidence intervals;
- a ranking of which firms suit the strategy.
## Statistical tests
A backtest always flatters, because we pick what to show from many tries. This is our proposed list, and we welcome changes (see Open questions). Every strategy goes through these, and a gate turns them into one pass/fail verdict.
- **Locked holdout:** the last 2–3 years are untouched during research, and every look at them is logged.
- **Walk-forward:** choose parameters on a rolling past window, trade the next period, repeat. This tests the method, not one lucky setting.
- **Confidence intervals:** bootstrap ranges around every headline number (Sharpe, return, drawdown, win rate).
- **Probabilistic and deflated Sharpe ratio:** is the Sharpe significant, given the sample length, fat tails and the number of variants tried? Needs a permanent log of every trial.
- **Permutation test:** rerun the whole process on shuffled data; the p-value is how often noise does as well.
- **Reality Check (White / Hansen SPA) and multiple-testing correction:** for comparing many strategies or instruments at once.
- **Probability of backtest overfitting (PBO):** how often the best in-sample setting ranks below median out-of-sample.
- **Parameter robustness:** nearby parameter values must also work, with heatmaps to show plateaus vs spikes.
- **Cross-market and regime checks:** the same settings on related instruments, results by year and by volatility regime, and a check for a fading edge.
- **Monte Carlo on trades:** the range of drawdowns and losing streaks to expect.
- **Cost stress:** results with 1.5–2× spreads and random slippage.
- **Purged cross-validation for ML:** no training on data that overlaps the test period.
- **Controls:** synthetic data with a planted edge must pass, and pure noise must fail.
- **The gate:** thresholds sit in one file, fixed before research starts, and the verdict is written in plain words.
## Environment and deliverables
- **Machine and install:** Python, one-command install, offline after the data download.
- **Quality:** tests for every rule, cost and statistic. Delivered as a GitHub repository we own, with full history, a README and automated tests. Code, IP and documentation are ours; open-source dependencies under permissive licences only; no credentials in the code.
## Open questions for the developer
- **Overall:** would this platform work as described? If not, what would you change, and why?
- **Statistics:** is this the right set of tests? What would you add, drop or do differently?
- **Risk management:** are our loss stops, position sizing and weekend/news rules sensible for prop-firm challenges? What would you suggest instead?
- **Data:** which instruments and years can you supply as CSV, at what quality, and are you licensed to share them with us?
- **Effort:** which parts are hardest or riskiest?
- **Gaps:** anything you'd expect a system like this to have that we've missed?
Адкрыць заказ
AI-чарнавік адказу
Згенеруйце кароткі cover letter па гэтай вакансіі. Перад адпраўкай адрэдагуйце.
Увайдзіце, каб згенерыраваць AI-чарнавік.
Увайсці