તમારો Backtest Live Trading સાથે મેળ ન ખાવાનાં નવ કારણો

Huzefa Kudrati અપડેટ Oct 7, 2026 11 મિનિટમાં વાંચો

આ લેખ અંગ્રેજીમાંથી અનુવાદિત છે. મૂળ લેખ અંગ્રેજીમાં વાંચો

તમારો Backtest Live Trading સાથે મેળ ન ખાવાનાં નવ કારણો

Backtest અને live સ્ટ્રેટેજી વચ્ચે ફરક પડવાનાં નવ ઓળખી શકાય એવાં કારણો છે, અને slippage તેમાંનું ફક્ત એક છે. સૌથી મોટાં કારણો છે fill price, જે ખર્ચ તમે ગણતરીમાં લીધા નથી તે, bar ની અંદર થતી ભાવની હિલચાલ જે backtest જોઈ શકતો નથી, અને live વર્તન જે કોઈ simulation ફરીથી બતાવી શકતું નથી, જેમ કે rejected orders અને partial fills. એક વાર તમને ખબર પડે કે તમે કયું કારણ જોઈ રહ્યા છો, પછી મોટાભાગનો ફરક માપી શકાય છે.

જેણે પણ કોઈ સ્ટ્રેટેજી live ચલાવી છે તેને આ ક્ષણ આવી જ છે. Backtest માં સરસ સાફ equity curve દેખાતો હતો. છ અઠવાડિયાં પછી live એકાઉન્ટ ક્યાંક બીજે જ છે, અને સ્ટ્રેટેજીમાં એક લાઇન પણ બદલાઈ નથી.

સામાન્ય રીતે "slippage" એમ કહીને સમજાવી દેવાય છે, જે સાચું છે પણ લગભગ નકામું છે. અહીં આખી યાદી છે, લગભગ એ ક્રમમાં કે દરેક કેટલું નુકસાન કરે છે.

એક નજરે નવ કારણો

# કારણ સૌથી વધુ કોને નુકસાન
1 Fill price પાતળા strikes, મોટા orders
2 Bar ની અંદરની હિલચાલ ટાઇટ stop અને target, scalping
3 છોડી દીધેલા ખર્ચ High-frequency સ્ટ્રેટેજી
4 એવા runs જેણે ક્યારેય પરિણામ આપવું જ નહોતું જોઈતું જૂના reports ને નવા સાથે સરખાવનાર કોઈ પણ
5 બહારથી આવતા સિગ્નલ TradingView, webhook અને API થી ચાલતી સ્ટ્રેટેજી
6 Liquidity, partial fills, freeze limits Far OTM options, multi-leg પોઝિશન, મોટી સાઇઝ
7 Broker બાજુની સમસ્યાઓ બધાને, મોટાભાગે volatile દિવસોમાં
8 Overfitting અને look-ahead bias ખૂબ tune કરેલી સ્ટ્રેટેજી
9 Contract બદલાઈ ગયો Lot size કે expiry બદલાઈ તે પહેલાં ટેસ્ટ કરેલું બધું

1. Fill price ફરકનું સૌથી મોટું એકલું કારણ છે

Backtest તમારો ટ્રેડ ઐતિહાસિક bar ડેટામાંથી લીધેલા ભાવે fill કરે છે. Live માં, તમારો order પહોંચે એ જ ક્ષણે order book જે આપે તે તમને મળે છે. Money ની નજીકના liquid NIFTY option પર આ બે આંકડા નજીક હોઈ શકે. પાતળા strike પર કદાચ ન હોય.

2. Bar ની અંદરની ભાવની હિલચાલ દેખાતી નથી

જે engine ticks ની જગ્યાએ bars ફરીથી ચલાવે છે તે દરેક bar માં થોડા ભાવ જુએ છે, તેમની વચ્ચેનો રસ્તો નહીં. Bar ની અંદર થોડી વાર માટે જ સ્પર્શેલું લેવલ સાવ ચૂકી જવાય એવું બને, અને જો તમારો stop અને target બંને એક જ bar ની range માં હોય, તો backtest ને ખબર ન પડે કે પહેલાં કયું hit થયું.

એક price bar નો આકૃતિ જેમાં ઉપર target અને નીચે stop છે, અને bar ની અંદર બે શક્ય રસ્તા: રસ્તો A પહેલાં target ને hit કરે છે, રસ્તો B પહેલાં stop ને; બંને માટે bar નો ડેટા એક જેવો દેખાય છેએક જ bar, ઊલટાં પરિણામ. Bar નો ડેટા બંનેને અલગ ઓળખી શકતો નથી

આ bar ડેટાનો સ્વભાવ છે, ખામી નથી. પણ તે એક ખાસ પ્રકારની સ્ટ્રેટેજીને જરૂર કરતાં સારી દેખાડે છે: ટાઇટ target સાથે ટાઇટ stop, scalping, અને એવું કંઈ પણ જ્યાં entry અને exit એક જ bar માં trigger થઈ શકે.

3. જે ખર્ચ તમે ચાલુ કર્યા નથી

કોઈ પણ પરિણામ પર ભરોસો કરતાં પહેલાં ખર્ચ સેટ કરો. Report ના cost settings માં brokerage, slippage, STT, exchange charges, SEBI charges, GST અને stamp duty આવે છે, અને gross અને net પરિણામ બાજુ-બાજુમાં દેખાય છે.

જે સ્ટ્રેટેજી મહિને થોડા હજાર રૂપિયાનું લક્ષ્ય રાખે છે, તેના માટે આ નાની ગોળ-ગોળ ભૂલ નથી. આ જ આખી સ્ટ્રેટેજી છે. વધુ માટે જુઓ slippage ને સમજવું.

4. જે run કંઈ પરિણામ નથી આપતો તે તમને કંઈક કહે છે

Backtest એક પણ ટ્રેડ fill કર્યા વગર પૂરો થઈ શકે છે. જૂના engine માં આવા runs પૂરા થયેલા દેખાતા પાછા આવી શકતા હતા, અને પાતળા report ને નિષ્ફળતાને બદલે નબળું પરિણામ સમજી લેવાતું.

FastBT તેના બદલે ના પાડે છે: જો કોઈ run પ્રામાણિક report ન આપી શકે, તો તે એમ કહે છે અને credit આપોઆપ refund થાય છે. જો જે સ્ટ્રેટેજી પહેલાં report આપતી હતી તે હવે ઓછાં પરિણામ આપે, કે ના પાડવામાં આવે, તો એ engine વધુ સાચું બોલે છે, ઓછું સક્ષમ નથી. જૂના report ને નવા સાથે સરખાવતી વખતે, સ્ટ્રેટેજી નબળી પડી ગઈ છે એવા નિષ્કર્ષ પર આવતાં પહેલાં આ સૌથી પહેલાં તપાસો.

5. કેટલીક સ્ટ્રેટેજીનો backtest થઈ જ ન શકે

જો તમારી સ્ટ્રેટેજી બહારથી આવતા સિગ્નલ પર ચાલે છે, જેમ કે TradingView alert, custom webhook કે third-party API, તો ફરીથી ચલાવવા માટે કંઈ નથી. ઐતિહાસિક ભાવનો ડેટા છે; તમારા સિગ્નલનો ઇતિહાસ નથી. તેના માટે બનાવેલો કોઈ પણ backtest સિગ્નલના અંદાજને ટેસ્ટ કરે છે, સિગ્નલને નહીં.

આવી સ્ટ્રેટેજીને Live Offline ચલાવીને ચકાસો: સ્ટ્રેટેજી ચાલે છે અને દરેક ટ્રેડ નોંધે છે, પણ exchange પર કંઈ મોકલાતું નથી. અસલી trigger રસ્તો ચલાવતું આ એકમાત્ર environment છે. જો તમે TradingView વાપરો છો, તો જુઓ TradingView સ્ટ્રેટેજીને Tradetron સાથે જોડવી.

6. Liquidity, partial fills અને freeze limits

Backtest માની લે છે કે તમારો order fill થશે. Live માં તે અડધો fill થાય, મોડો થાય કે બિલકુલ ન થાય એવું બને. આ સૌથી વધુ નુકસાન far out-of-the-money options પર, volatility બદલાય ત્યારે સ્ટ્રેટેજી જે illiquid strikes પસંદ કરે તેના પર, અને મોટી સાઇઝ સુધી વધતી કોઈ પણ વસ્તુ પર કરે છે. Exchange ની freeze quantity થી ઉપર, એક order reject થાય છે અને તેને ભાગમાં વહેંચવો પડે છે, જેનાથી તમારો સરેરાશ ભાવ અને timing બંને બદલાય છે.

Multi-leg પોઝિશનમાં આ વધી જાય છે. જો ચાર-leg માળખાનો એક leg fill ન થાય, તો તમે ટેસ્ટ કરેલી સ્ટ્રેટેજી ચલાવી રહ્યા નથી; તમે એક અણધારી પોઝિશન પકડીને બેઠા છો. ખાતરી કરો કે તમારી સ્ટ્રેટેજી આ કેસ સંભાળે છે.

7. Broker બાજુની હકીકત

તમારી સ્ટ્રેટેજી અને exchange ની વચ્ચે broker છે, જેની પોતાની નિષ્ફળતાઓ છે: order rejections, margin ની ઘટ, expire થયેલાં sessions, rate limits અને ક્યારેક latency. Backtest માં આમાંનું કંઈ નથી; દરેક order તરત સ્વીકારાય છે.

એટલે live પરિણામોમાં એવા ટ્રેડ્સની એક પૂંછડી હોય છે જે થયા જ નહીં, કે મોડા થયા, અને તે સરખા ફેલાયેલા નથી હોતા. તે volatile દિવસોમાં ભેગા થાય છે, જ્યારે margin સૌથી ટાઇટ અને order flow સૌથી ભારે હોય, અને ઘણી વાર એ જ દિવસો પર તમારી સ્ટ્રેટેજી આધાર રાખે છે.

8. Overfitting, look-ahead bias, અને તેમને કેવી રીતે પકડવા

જો તમે backtest સારો દેખાય ત્યાં સુધી settings બદલતા રહ્યા, તો તમે સ્ટ્રેટેજીને ઇતિહાસના એ ભાગ પ્રમાણે થોડી ફિટ કરી દીધી છે. ત્રણ નિશાનીઓ:

  1. ટ્રેડ્સની સંખ્યા. ત્રીસ ટ્રેડ્સ પર બનેલું પરિણામ chart પહેરેલો ઘોંઘાટ છે.
  2. માર્કેટના અલગ-અલગ તબક્કા (regime). ટ્રેન્ડિંગ માર્કેટના છ મહિના ફક્ત એક જ તબક્કાને ટેસ્ટ કરે છે.
  3. Look-ahead bias. એવો નિયમ જે trigger થાય એ ક્ષણે ઉપલબ્ધ ન હોય એવી માહિતી વાપરે, મોટાભાગે એ જ bar કે session ના પછીના ભાગની વેલ્યુ. Tradetron જેવું no-code builder બનાવટથી જ આને મર્યાદિત કરે છે, કારણ કે તમે મનફાવે એવા code ને બદલે નક્કી building blocks માંથી conditions બનાવો છો, પણ એ પૂરી ખાતરી નથી. Repaint થતો indicator, જેની ભૂતકાળની વેલ્યુ પછીથી બદલાઈ જાય છે, એ જ લક્ષણ ઊભું કરે છે.

જો કોઈ backtest અસામાન્ય રીતે સાફ દેખાય, તો તપાસો કે કોઈ condition ફક્ત ભવિષ્યની માહિતીથી જ ગણી શકાઈ હોત કે નહીં. પછી ટેસ્ટની અવધિ વધારો: વર્ષોનો ડેટા ઉપલબ્ધ હોય ત્યારે છ મહિના ટેસ્ટ કરવાનું ખાસ કારણ નથી. Backtesting માં ટાળવાની ભૂલો બતાવે છે કે overfitting તમને કેવી રીતે છેતરે છે.

9. તમારો backtest કદાચ બીજા contract નું વર્ણન કરે છે

Contract ની વિગતો બદલાય છે. NSE એ January 2026 series થી index derivative lot sizes બદલ્યા, NIFTY ને 75 થી 65 અને BANK NIFTY ને 35 થી 30 કર્યો. Weekly expiries પણ બદલાઈ છે: NSE પર હવે એક જ weekly index expiry છે (NIFTY, મંગળવારે), અને BANK NIFTY ની ફક્ત monthly expiries છે. જૂના સમયગાળાનો backtest જૂની contract sizes પર રૂપિયાના આંકડા બતાવે છે અને એવી expiries ટ્રેડ કરી શકે જે હવે છે જ નહીં. ટકાવારીનાં પરિણામ મોટેભાગે માહિતીપ્રદ રહે છે; નફો, નુકસાન અને drawdown ના સીધા આંકડા નહીં. જુઓ lot size બદલાયા પછી શું તપાસવું.

Coverage હવે પહેલાં જેટલી મર્યાદા નથી: FastBT NSE F&O અને cash, BSE, MCX, crypto અને US markets પર ચાલે છે, અને custom Python અને list આધારિત સ્ટ્રેટેજી પણ સપોર્ટ કરે છે. જૂનું engine જે માર્કેટ cover નહોતું કરતું તેના માટે તમે પહેલાં કોઈ જુગાડ કર્યો હતો, તો એ જુગાડ હવે ભૂલ ઉમેરતો હોઈ શકે.

ફરક કેવી રીતે ઘટાડવો

  1. ચલાવતાં પહેલાં: ખર્ચ ચાલુ કરો અને સામાન્ય કરતાં નિરાશાવાદી slippage ધારણા વાપરો.
  2. ચલાવતાં પહેલાં: અવધિ ત્યાં સુધી વધારો કે તેમાં એવો સમયગાળો આવે જેણે સ્ટ્રેટેજીને નુકસાન કરવું જોઈતું હતું.
  3. ચલાવ્યા પછી: પૂરતી સંખ્યામાં ટ્રેડ્સ ભેગા થાય એટલા લાંબા સમય સુધી Live Offline ટેસ્ટ કરો. Rejections, partial fills, delays અને બહારના સિગ્નલ બતાવતું આ એકમાત્ર પગલું છે.
  4. ચલાવ્યા પછી: સૌથી નાની અસલી સાઇઝ સાથે live જાઓ, અને સાઇઝ વધારતાં પહેલાં live fills ને backtest fills સાથે ટ્રેડ દર ટ્રેડ સરખાવો.

Live સ્ટ્રેટેજીને તેના backtest સાથે કેવી રીતે મેળવવી

લગભગ કોઈ આ કરતું નથી, અને તે અસ્પષ્ટ નિરાશાને એક એવા આંકડામાં ફેરવે છે જેના પર તમે કામ કરી શકો. એક જ સમયગાળા માટે તમારા backtest report માંથી ટ્રેડ્સ અને તમારો live trade log ડાઉનલોડ કરો, પછી ચાર પ્રશ્નો ક્રમમાં જુઓ:

પ્રશ્ન જો જવાબ ના હોય કે મોટો હોય તેનો અર્થ
શું એ જ ટ્રેડ્સ trigger થયા? Entry times સરખાવો. Live માં અલગ કે ઓછા ટ્રેડ્સ થયા સિગ્નલ કે execution ની સમસ્યા, ખર્ચની નહીં. ખર્ચ બદલવાથી એ નહીં સુધરે
Fill માં કેટલો ફરક હતો? દરેક ટ્રેડ પર સરેરાશ live fill બાદ backtest fill. સતત એક સરખો ફરક એ આ સ્ટ્રેટેજી માટેનું તમારું અસલી slippage છે. તેને ખર્ચમાં નાખો અને ફરી ચલાવો; સામાન્ય રીતે મોટાભાગનો ફરક અહીં જ પૂરો થાય છે
શું બાકી રહ્યું? નાનો, સ્થિર બચેલો ભાગ સામાન્ય રીતે partial fills કે સ્ટ્રેટેજી કેવી રીતે deploy થઈ છે તે. નાનો હોય તો અપેક્ષિત છે
શું બચેલો ભાગ volatility સાથે વધે છે? માર્કેટ સૌથી વધુ હલ્યું એ દિવસોમાં સૌથી ખરાબ Liquidity અને broker ની અસરો (કારણ 6 અને 7). સાઇઝ અને order handling થી સુધારો, logic ફરી લખીને નહીં

Report પોતે વાંચવા માટે જુઓ backtesting guide અને સ્ટ્રેટેજીના performance નું મૂલ્યાંકન કેવી રીતે કરવું. અમારો State of Retail Algo Trading in India 2026 report બતાવે છે કે આ પેટર્ન આખા platform પર કેવી રીતે દેખાય છે.

વારંવાર પૂછાતા પ્રશ્નો

મારો backtest નફામાં છે પણ live trading કેમ નથી?

સૌથી સામાન્ય કારણો છે ગણતરીમાં ન લીધેલા ખર્ચ, fill price માં ફરક, અને live વર્તન જે કોઈ simulation ફરીથી બતાવી શકતું નથી, જેમ કે partial fills અને rejected orders. એ slippage જ છે એમ માની લેવાને બદલે, કયું કારણ લાગુ પડે છે તે શોધવા ટ્રેડ દર ટ્રેડ મેળવો.

શું Tradetron નો backtest મને worst price ધારવા દે છે?

ના. Best price, worst price અને bid-ask average deploy કરેલી સ્ટ્રેટેજી માટેના live order-execution settings છે, backtest ના options નથી. તેના બદલે slippage ખર્ચ દ્વારા નિરાશાવાદી fill મૂકો.

શું backtest માં brokerage અને taxes આવે છે?

આવી શકે છે. Brokerage, slippage, STT, exchange charges, SEBI charges, GST અને stamp duty આવરી લેતા ખર્ચ સેટ કરો, અને report માં gross અને net પરિણામ બાજુ-બાજુમાં દેખાશે.

મારી સ્ટ્રેટેજી પહેલાં કરતાં ઓછાં backtest પરિણામ કેમ આપે છે?

FastBT જે report પ્રામાણિકતાથી ન બનાવી શકે તે આપવાની ના પાડે છે અને credit આપોઆપ refund કરે છે, fills વગરનો પૂરો દેખાતો run પાછો આપવાને બદલે. એ કિસ્સામાં ઓછાં પરિણામનો અર્થ છે કે engine વધુ સચોટ છે.

શું હું TradingView alerts પર ચાલતી સ્ટ્રેટેજીનો backtest કરી શકું?

ખરેખર અર્થપૂર્ણ રીતે નહીં. બહારથી trigger થતી સ્ટ્રેટેજી એવા સિગ્નલ પર ચાલે છે જે ઐતિહાસિક રીતે ક્યારેય નોંધાયા નથી, એટલે ફરીથી ચલાવવા માટે કંઈ નથી. તેના બદલે તેમને Live Offline ટેસ્ટ કરો.

મારે કેટલું slippage ધારવું જોઈએ?

અંદાજ લગાવવાને બદલે તેને માપો. સ્ટ્રેટેજીને નાની સાઇઝ પર live ચલાવો, દરેક live fill ને backtest fill સાથે સરખાવો, અને સરેરાશ ફરક વાપરો.

શું January 2026 પહેલાંનાં backtest પરિણામ હજુ માન્ય છે?

ટકાવારીનાં પરિણામ મોટેભાગે માહિતીપ્રદ રહે છે, પણ રૂપિયાના આંકડા જૂની lot sizes દર્શાવે છે, અને ટેસ્ટ થયેલી કેટલીક expiries હવે છે જ નહીં. Capital ની સાઇઝ નક્કી કરવા તેમને વાપરતાં પહેલાં ફરીથી ચલાવો.

Tradetron સાથે જોડાવું છે?

હજારો traders algo trading તરફ વળ્યા છે. તમારો નંબર આપો, અમારી ટીમ શરૂઆતમાં તમારી મદદ કરશે.