سبق 1ਬਾਰ-ਬਾਈ-ਬਾਰ ਬੈਕਟੈਸਟ ਲੂਪ ਵਿਚ ਵੈਕਟਰਾਈਜ਼ਡ ਪੋਰਟਫੋਲੀਓ ਸਿਮੂਲੇਸ਼ਨ: ਟ੍ਰੇਡ ਮੈਕੈਨਿਕਸ, ਐਂਟਰੀ/ਐਕਸਿਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ, ਸਟੇਟ ਮੈਨੇਜਮੈਂਟਬਾਰ-ਬਾਈ-ਬਾਰ ਲੂਪ ਨੂੰ ਵੈਕਟਰਾਈਜ਼ਡ ਸਿਮੂਲੇਸ਼ਨ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਆਰਡਰ ਕਿਵੇਂ ਟ੍ਰਿਗਰ, ਫਿਲ ਅਤੇ ਬੰਦ ਹੁੰਦੇ ਹਨ, ਪੋਰਟਫੋਲੀਓ ਸਟੇਟ ਟਾਈਮ ਨਾਲ ਅਪਡੇਟ ਕਿਵੇਂ ਹੁੰਦੀ ਹੈ ਅਤੇ ਸਪੀਡ, ਕਲੈਰਿਟੀ ਅਤੇ ਡੀਬੱਗਿੰਗ ਲੀਡਾਂ ਲਈ ਸਹੀ ਢੰਗ ਚੁਣਨਾ ਸਿੱਖੋ।
Anatomy of a bar-by-bar backtest loopVectorized portfolio equity curve computationModeling order fills and partial executionsManaging open positions and portfolio statePerformance trade-offs and debugging toolsسبق 2ਟ੍ਰੇਡ ਲੌਗਿੰਗ ਅਤੇ ਟ੍ਰੇਡ-ਲੈਵਲ ਰਿਕਾਰਡ ਜਨਰੇਟ ਕਰਨਾ: ਐਂਟਰੀ/ਐਕਸਿਟ ਟਾਈਮਸਟੈਂਪ, ਪ੍ਰਾਈਸ, ਸਾਈਜ਼, P&L, ਕਿਊਮੂਲੇਟਿਵ ਲਾਗਤਾਂਹਰ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਵਾਲਾ ਵੇਰਵੇ ਵਾਲਾ ਟ੍ਰੇਡ ਲੌਗ ਡਿਜ਼ਾਈਨ ਕਰੋ। ਟਾਈਮਸਟੈਂਪ, ਪ੍ਰਾਈਸ, ਸਾਈਜ਼, PnL ਅਤੇ ਕਿਊਮੂਲੇਟਿਵ ਲਾਗਤਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਸਟ੍ਰੈਟੇਜੀ ਬਿਹੇਵੀਅਰ ਆਡਿਟ ਕਰ ਸਕੋ, ਐਨੋਮਲੀਜ਼ ਡੀਬੱਗ ਕਰੋ ਅਤੇ ਟ੍ਰੇਡ-ਲੈਵਲ ਪਰਫਾਰਮੈਂਸ ਅਤੇ ਰਿਸਕ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ।
Defining a trade record schemaRecording timestamps, prices, and sizeTracking per-trade P&L and costsExporting logs to CSV or databasesUsing logs for diagnostics and analysisسبق 3ਪ੍ਰੋਜੈਕਟ ਸਟ੍ਰਕਚਰ ਅਤੇ ਰੀਪ੍ਰੋਡਿਊਸੀਬਲ ਸਕ੍ਰਿਪਟਸ: ਡਾਟਾ ਲੋਡਰ, ਸਿਗਨਲ ਜਨਰੇਟਰ, ਪੋਰਟਫੋਲੀਓ/ਬੈਕਟੈਸਟ ਇੰਜਣ, ਮੈਟ੍ਰਿਕਸ/ਰਿਪੋਰਟਿੰਗਕਲੀਨ, ਰੀਪ੍ਰੋਡਿਊਸੀਬਲ ਬੈਕਟੈਸਟਿੰਗ ਪ੍ਰੋਜੈਕਟ ਲੇਆਊਟ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। ਡਾਟਾ ਲੋਡਿੰਗ, ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ, ਪੋਰਟਫੋਲੀਓ ਅਤੇ ਬੈਕਟੈਸਟ ਲੌਜਿਕ ਅਤੇ ਰਿਪੋਰਟਿੰਗ ਨੂੰ ਵੱਖ ਕਰੋ ਤਾਂ ਜੋ ਸਟ੍ਰੈਟੇਜੀਆਂ ਵੱਖਰੇ ਡਾਟਾਸੈੱਟ ਅਤੇ ਮਾਰਕੀਟਾਂ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਐਕਸਟੈਂਡ, ਡੀਬੱਗ ਅਤੇ ਚਲਾਈਆਂ ਜਾ ਸਕਣ।
Organizing project folders and modulesDesigning a reusable data loader APISeparating strategy, engine, and config filesCreating deterministic, seedable runsBuilding command line entry pointsسبق 4ਪੋਜ਼ੀਸ਼ਨ ਸਾਈਜ਼ਿੰਗ ਅਤੇ ਕੈਸ਼/ਪੋਰਟਫੋਲੀਓ ਵੈਲਿਊ ਅਪਡੇਟਸ ਹੈਂਡਲ ਕਰਨਾ: ਲੌਂਗ-ਓਨਲੀ ਸਾਈਜ਼ਿੰਗ, ਰੀਬੈਲੈਂਸਿੰਗ, ਰਿਟਰਨ ਰੀਇਨਵੈਸਟ ਕਰਨਾਹਰ ਟ੍ਰੇਡ ਲਈ ਪੋਜ਼ੀਸ਼ਨ ਸਾਈਜ਼ਿੰਗ ਅਤੇ ਕੈਸ਼ ਅਪਡੇਟਸ ਹੈਂਡਲ ਕਰੋ। ਲੌਂਗ-ਓਨਲੀ ਸਾਈਜ਼ਿੰਗ ਰੂਲ, ਪੋਰਟਫੋਲੀਓ ਰੀਬੈਲੈਂਸਿੰਗ ਅਤੇ ਪ੍ਰੌਫਿਟ ਦਾ ਰੀਇਨਵੈਸਟਮੈਂਟ ਇੰਪਲੀਮੈਂਟ ਕਰੋ ਜਦੋਂ ਕਿ ਬੈਕਟੈਸਟ ਟਾਈਮਲਾਈਨ ਦੇ ਹਰ ਕਦਮ ਤੇ ਕੈਸ਼, ਹੋਲਡਿੰਗਸ ਅਤੇ ਟੋਟਲ ਈਕੁਇਟੀ ਨੂੰ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ ਰੱਖੋ।
Long-only position sizing rulesCash, holdings, and equity bookkeepingImplementing periodic portfolio rebalancingReinvesting profits and compounding effectsHandling insufficient cash and roundingسبق 5ਵੈਕਟਰਾਈਜ਼ਡ ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ: ਪੈਂਡਾਸ ਨਾਲ ਮੂਵਿੰਗ ਔਸਤ, RSI, ਹਾਈ/ਲੋ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਕੰਪਿਊਟ ਕਰਨਾਪੈਂਡਾਸ ਨਾਲ ਵੈਕਟਰਾਈਜ਼ਡ ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ ਇੰਪਲੀਮੈਂਟ ਕਰੋ। ਮੂਵਿੰਗ ਔਸਤ, RSI ਅਤੇ ਰੋਲਿੰਗ ਹਾਈ ਜਾਂ ਲੋ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਕੰਪਿਊਟ ਕਰੋ, ਸਿਗਨਲ ਨੂੰ ਪ੍ਰਾਈਸ ਡਾਟਾ ਨਾਲ ਅਲਾਈਨ ਕਰੋ ਅਤੇ ਲੁੱਕ-ਐਹੈੱਡ ਬਾਇਆਸ ਤੋਂ ਬਚੋ ਜਦੋਂ ਕਿ ਕੋਡ ਪੜ੍ਹਨਯੋਗ ਅਤੇ ਤੇਜ਼ ਰੱਖੋ।
Rolling windows and moving averagesVectorized RSI and momentum indicatorsComputing rolling highs, lows, and rangesAligning signals with tradable barsAvoiding look-ahead bias in signalsسبق 6ਟ੍ਰੇਡ ਅਕਾਊਂਟਿੰਗ: ਐਂਟਰੀ ਪ੍ਰਾਈਸ ਚੋਣ, ਪ੍ਰਤੀ ਟ੍ਰੇਡ ਕਮਿਸ਼ਨ ਅਤੇ ਸਲਿਪੇਜ ਐਪਲਾਈ ਕਰਨਾ, ਰੀਅਲਾਈਜ਼ਡ/ਅਨਰੀਅਲਾਈਜ਼ਡ PnL ਕੈਲਕੂਲੇਟ ਕਰਨਾਹਰ ਫਿਲ ਲਈ ਪ੍ਰੀਸਾਈਜ਼ ਟ੍ਰੇਡ ਅਕਾਊਂਟਿੰਗ ਇੰਪਲੀਮੈਂਟ ਕਰੋ। ਐਂਟਰੀ ਪ੍ਰਾਈਸ ਚੁਣਨਾ, ਕਮਿਸ਼ਨ ਅਤੇ ਸਲਿਪੇਜ ਐਪਲਾਈ ਕਰਨਾ ਅਤੇ ਰੀਅਲਿਸਟਿਕ ਟਰੇਡਿੰਗ ਸ਼ਰਤਾਂ ਅਤੇ ਬ੍ਰੋਕਰ ਸਟੇਟਮੈਂਟ ਨਾਲ ਮੈਚ ਕਰਨ ਲਈ ਰੀਅਲਾਈਜ਼ਡ ਅਤੇ ਅਨਰੀਅਲਾਈਜ਼ਡ PnL ਕੰਪਿਊਟ ਕਰਨਾ ਸਿੱਖੋ।
Choosing entry and exit price conventionsModeling per-trade commission structuresImplementing slippage and price impactCalculating realized and unrealized P&LReconciling trade logs with P&L seriesسبق 7ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਲਾਗਤ ਮਾਡਲਿੰਗ: ਫਿਕਸਡ ਕਮਿਸ਼ਨ ਪ੍ਰਤੀ ਟ੍ਰੇਡ ਅਤੇ ਪ੍ਰਤੀਸ਼ਤ ਪ੍ਰਤੀ ਟ੍ਰੇਡ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨਤੁਹਾਡੇ ਇੰਜਣ ਲਈ ਫਲੈਕਸੀਬਲ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਲਾਗਤ ਮਾਡਲ ਬਣਾਓ। ਫਿਕਸਡ ਪ੍ਰਤੀ-ਟ੍ਰੇਡ ਫੀਸ ਅਤੇ ਪ੍ਰਤੀਸ਼ਤ-ਬੇਸਡ ਲਾਗਤਾਂ ਇੰਪਲੀਮੈਂਟ ਕਰੋ, ਫਿਰ ਉਹਨਾਂ ਨੂੰ ਕੰਬਾਈਨ ਕਰੋ ਤਾਂ ਜੋ ਰੀਅਲ ਬ੍ਰੋਕਰ ਫੀ ਸਕੀਡਿਊਲ ਨੂੰ ਅਨੁਮਾਨਿਤ ਕਰੋ ਅਤੇ ਲਾਗਤਾਂ ਸਟ੍ਰੈਟੇਜੀ ਪ੍ਰੌਫਿਟੇਬਿਲਟੀ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ ਤੇ ਅਧਿਐਨ ਕਰੋ।
Fixed commission per order implementationPercentage-of-notional fee modelingCombining fixed and variable costsApplying costs at fill or end of daySensitivity analysis to fee assumptionsسبق 8ਜ਼ਰੂਰੀ ਪਾਈਥਨ ਲਾਈਬ੍ਰੇਰੀਆਂ ਅਤੇ ਐਨਵਾਇਰਨਮੈਂਟ: pandas, numpy, matplotlib, scipy, statsmodels; ਆਪਸ਼ਨਲ: backtrader, zipline, vectorbtਬੈਕਟੈਸਟਿੰਗ ਲਈ ਉਤਪਾਦਕ ਪਾਈਥਨ ਐਨਵਾਇਰਨਮੈਂਟ ਸੈੱਟ ਅੱਪ ਕਰੋ। ਪੈਂਡਾਸ, NumPy, matplotlib, SciPy ਅਤੇ statsmodels ਕਿਵੇਂ ਫਿੱਟ ਹੁੰਦੇ ਹਨ ਸਿੱਖੋ, ਅਤੇ backtrader, zipline ਜਾਂ vectorbt ਵਰਗੀਆਂ ਸਪੈਸ਼ਲਾਈਜ਼ਡ ਲਾਈਬ੍ਰੇਰੀਆਂ ਵਿਕਾਸ ਨੂੰ ਤੇਜ਼ ਕਰ ਸਕਦੀਆਂ ਹਨ।
Configuring virtual environments and dependenciesUsing pandas and NumPy for time series dataPlotting equity and drawdowns with matplotlibApplying SciPy and statsmodels in researchOverview of backtrader, zipline, and vectorbtسبق 9ਕੋਡ ਸਹੀਪਣ ਟੈਸਟਿੰਗ: ਸਿਗਨਲ ਆਊਟਪੁਟ ਲਈ ਯੂਨਿਟ ਟੈਸਟ, ਛੋਟੇ-ਸੈਂਪਲ ਹੈਂਡ-ਚੈੱਕਡ ਬੈਕਟੈਸਟ, ਨੈਗੇਟਿਵ ਕੈਸ਼ ਲਈ ਅਸਰਸ਼ਨ ਚੈੱਕਤੁਹਾਡਾ ਬੈਕਟੈਸਟ ਕੋਡ ਸਹੀ ਅਤੇ ਮਜ਼ਬੂਤ ਹੈ ਨਿਸ਼ਚਿਤ ਕਰੋ। ਸਿਗਨਲ ਆਊਟਪੁਟ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਲਿਖੋ, ਛੋਟੇ ਹੈਂਡ-ਚੈੱਕਡ ਸੀਨੇਰੀਓ ਚਲਾਓ ਅਤੇ ਨੈਗੇਟਿਵ ਕੈਸ਼ ਜਾਂ ਇਨਕੰਸਿਸਟੈਂਟ ਪੋਜ਼ੀਸ਼ਨ ਕੁਆਂਟਿਟੀ ਵਰਗੀਆਂ ਅਸੰਭਵ ਸਟੇਟਸ ਨੂੰ ਫੜਨ ਲਈ ਰਨਟਾਈਮ ਅਸਰਸ਼ਨ ਜੋੜੋ।
Unit tests for indicators and signalsHand-crafted micro backtest scenariosAssertions for cash and position limitsRegression tests for strategy changesUsing fixtures and test data factories