அதிகபட்ச ROI-க்காக உங்கள் Trading Algorithm-ஐ Optimize செய்வது எப்படி
இந்தக் கட்டுரை ஆங்கிலத்திலிருந்து மொழிபெயர்க்கப்பட்டது. மூலக் கட்டுரையை ஆங்கிலத்தில் படியுங்கள்
சிறந்த ROI-க்காக ஒரு trading algorithm-ஐ optimize செய்ய, கடந்த data-வில் வெறும் லாபத்தை அல்ல, risk மற்றும் capital-ன் ஒவ்வொரு அலகுக்குமான return-ஐ மேம்படுத்துங்கள். நடைமுறையில்: முதலில் செலவுகளையும் slippage-ஐயும் குறையுங்கள், position-களை ஒரு நிலையான risk-க்கு size செய்யுங்கள், strategy மோசமாகக் கையாளும் சூழ்நிலைகளைத் தவிர்க்கும் filter-களைச் சேருங்கள், வேலை செய்யும் range-களுக்குள் மட்டுமே settings-ஐ tune செய்யுங்கள், ஒவ்வொரு மாற்றத்தையும் அதைத் தேர்ந்தெடுக்கப் பயன்படுத்தாத data-வில் உறுதிசெய்யுங்கள்.

ஒரு algo strategy-க்கு ROI உண்மையில் என்ன அர்த்தம்
ROI என்பது லாபத்தை அதற்குத் தேவையான capital-ஆல் வகுப்பது. அது உங்களுக்கு ஒன்றல்ல, மூன்று lever-களைத் தருகிறது:
| Lever | நீங்கள் எதை மாற்றுகிறீர்கள் | உதாரணம் |
|---|---|---|
| Net profit-ஐ அதிகரிப்பது | சிறந்த entry, exit-கள், குறைவான மோசமான trade-கள் | ஒரு short straddle-க்கு trend நாட்களைத் தவிர்க்கும் filter |
| செலவுகளைக் குறைப்பது | Slippage, கட்டணங்கள், தேவையற்ற trade-கள் | குறைவான entry-கள், அதிக liquid strike-கள் |
| தேவையான capital-ஐக் குறைப்பது | அதே exposure-க்குத் தேவையான margin | Hedge செய்த option position-களுக்கு naked position-களை விடப் பெரும்பாலும் குறைவான margin போதும் |
ஒரு கட்டுப்பாடும் உண்டு: drawdown நீங்கள் தாங்கக்கூடிய அளவிலேயே இருக்க வேண்டும். ஆண்டு return-ல் 5% சேர்த்து, மிக மோசமான drawdown-ஐ இரட்டிப்பாக்கும் மாற்றம் பொதுவாக மேம்பாடு அல்ல.
வேலை செய்யும் optimization வரிசை
Overfit ஆகும் வாய்ப்பு மிகக் குறைவான மாற்றங்களிலிருந்து, வாய்ப்பு மிக அதிகமானவை நோக்கிச் செல்லுங்கள்:
- செலவுகளையும் execution-ஐயும் சரிசெய்யுங்கள். Overfitting risk இல்லை; முழு லாபம்.
- Position sizing-ஐச் சரிசெய்யுங்கள். Risk-ஐ மாற்றுகிறது, signal-ஐ அல்ல.
- இருப்பதற்குத் தெளிவான காரணம் உள்ள risk rule-களைச் (stop-கள், தினசரி வரம்புகள், trailing stop-கள்) சேருங்கள் அல்லது மேம்படுத்துங்கள்.
- பின்னால் தெளிவான logic உள்ள market filter-களைச் சேருங்கள்.
- எண் settings-ஐ கடைசியாக tune செய்யுங்கள், range-களுக்குள், அவற்றில் சிலவற்றை மட்டும்.
1. செலவுகளையும் slippage-ஐயும் குறையுங்கள்
மிச்சப்படுத்தும் ஒவ்வொரு ரூபாய் slippage-ம் ஒரு ரூபாய் லாபம், strategy-ன் logic-ல் எந்த மாற்றமும் இல்லாமல்.
- குறைவான, சிறந்த entry-களை trade செய்யுங்கள். நாளுக்குப் பத்து முறை entry செய்யும் strategy பத்து முறை செலவு செலுத்துகிறது.
- Liquid instrument-களை trade செய்யுங்கள். தூரத்து strike-களை விட near-the-money index option-களுக்கு spread குறைவு.
- நியாயமான order pricing பயன்படுத்துங்கள். Tradetron-ல், எப்போதும் spread-ஐக் கடப்பதற்குப் பதிலாக, live order-கள் நீங்கள் தேர்ந்தெடுத்த விலையில் (உதாரணமாக, bid மற்றும் ask-ன் சராசரி) தொடங்கவும், குறிப்பிட்ட tick-கள் அளவில் மாற்றவும், ஒரு timeout-க்குப் பிறகு fallback செய்யவும் Advanced Settings அனுமதிக்கிறது.
- பெரிய order-களை tranching மூலம் பிரியுங்கள், அப்போதுதான் ஒரே பெரிய order விலையை உங்களுக்கு எதிராக நகர்த்தாது.
விளைவை அளவிடுங்கள்: backtest report-ன் cost பகுதியில் உங்கள் உண்மையான slippage-ஐப் போட்டு break-even அளவைக் கண்டுபிடியுங்கள். மேலும் slippage-ஐப் புரிந்துகொள்வது-ல்.
2. Position-களை ஒரு நிலையான risk-க்கு size செய்யுங்கள்
Position size, ROI மற்றும் drawdown இரண்டையும் சேர்ந்தே மாற்றுகிறது. இரண்டு பொதுவான அணுகுமுறைகள்:
Fixed-risk sizing. ஒரு trade-க்கு நீங்கள் ஏற்கும் ரூபாய் நஷ்டத்தை முடிவு செய்யுங்கள் (உதாரணமாக capital-ன் 1%), ஒரு stop-out சரியாக அவ்வளவு மட்டுமே செலவாகும்படி size அமையுங்கள். Volatility மாறும்போதும் இது risk-ஐ நிலையாக வைக்கிறது.
Kelly-based sizing (எச்சரிக்கையுடன்). Kelly fraction என்பது ஒரு குறிப்பிட்ட edge-க்கு நீண்ட கால வளர்ச்சியை அதிகபட்சமாக்கும் capital பங்கு:
Tradetron-ல், ஒவ்வொரு position-லும் உள்ள lot-களால் size அமைக்கப்படுகிறது, deployment-ல் உள்ள multiplier முழு strategy-ஐயும் மேலே அல்லது கீழே scale செய்கிறது.
3. காரணம் உள்ள risk rule-களை மேம்படுத்துங்கள்
மிக மோசமான நஷ்டங்களைக் குறைப்பதன் மூலம் risk rule-கள் ROI-ஐ உயர்த்தலாம், ஆனால் strategy எப்படி நடந்துகொள்கிறது என்பதை அடிப்படையாகக் கொண்டிருந்தால் மட்டுமே:
- ஒவ்வொரு position-ன் SL trigger மூலம் ஒவ்வொரு leg-க்கும் stop loss.
- Strategy-ன் P&L-ல் ஒரு Universal Exit மூலம் தினசரி loss limit.
- திறந்திருக்கும் லாபத்தைப் பாதுகாக்க trailing stop; Tradetron-ல் TSL எப்படி வேலை செய்கிறது பாருங்கள்.
- நாளின் பிற்பகுதியில் edge குறையும் strategy-களுக்கு நேர exit.
ஒவ்வொரு rule-ஐயும் தனியாக baseline-க்கு எதிராக test செய்யுங்கள். மிக மோசமான நாட்களைக் குறைத்தாலும் பல நல்ல நாட்களில் உங்களை stop out செய்யும் stop, ROI-ஐக் குறைக்கலாம்; எது என்று backtest காட்டும்.
4. தெளிவான logic உள்ள market filter-களைச் சேருங்கள்
பெரும்பாலான strategy-கள் மோசமாகக் கையாளும் சூழ்நிலைகள் உள்ளன. ஒரு filter strategy-ஐ அவற்றிலிருந்து விலக்கி வைக்கிறது:
| Strategy வகை | எப்போது சிரமப்படுகிறது | சாத்தியமான filter |
|---|---|---|
| Option selling | Volatility திடீரென உயர்வது, பெரிய trend நாட்கள் | Entry நேரத்துக்குள் அன்றைய range ஏற்கனவே அகலமாக இருந்தால் entry-ஐத் தவிருங்கள் |
| Trend following | Sideways, choppy market-கள் | விலை ஒரு நீண்ட moving average-க்கு மேலே அல்லது கீழே இருக்கும்போது மட்டும் trade செய்யுங்கள் |
| Mean reversion | வலுவான trend-கள் | ADX போன்ற trend அளவீடு அதிகமாக இருக்கும்போது தவிருங்கள் |
நல்ல filter என்பது முடிவுகளைப் பார்ப்பதற்கு முன்பே நீங்கள் விளக்கக்கூடிய ஒன்று. இருபது filter-களை முயற்சித்துத்தான் அதைக் கண்டுபிடித்தீர்கள் என்றால், அதைச் சந்தேகத்துடன் பாருங்கள்.
5. எண்களை கடைசியாக tune செய்யுங்கள், plateau-வைத் தேர்ந்தெடுங்கள்
இப்போது stop-loss சதவீதம், entry நேரம் அல்லது indicator நீளம் போன்ற எண் settings-ஐ adjust செய்யுங்கள். விதி: ஒரே ஒரு சிறந்த மதிப்பைத் தேர்ந்தெடுக்காதீர்கள்; முடிவுகள் தொடர்ந்து நன்றாக இருக்கும் ஒரு range-ன் நடுவிலிருந்து ஒரு மதிப்பைத் தேர்ந்தெடுங்கள்.
விளக்கப்படம்: நிலையான range ஒரு உண்மையான விளைவுக்கான சான்று; தனி உச்சி பொதுவாக அப்படி இல்லை
Tradetron-ன் backtest form-ல் ஒரு sweep option உள்ளது, அது strategy-ல் உள்ள ஒரு எண்ணின் பல மதிப்புகளை அருகருகே ஓட்டுகிறது, இதனால் plateau-வை எளிதாகப் பார்க்கலாம். நீங்கள் tune செய்யும் settings-ன் எண்ணிக்கையைக் குறைவாக வையுங்கள்: பத்து அல்ல, இரண்டு அல்லது மூன்று.
ஒரு optimization உண்மையானதா என்று எப்படிச் சரிபார்ப்பது
- Baseline-உடன் ஒப்பிடுங்கள், அதே காலகட்டம் மற்றும் settings-ல் ஓட்டி.
- ஒதுக்கி வைத்த data-வைச் சரிபாருங்கள். Sweep மூலம் காலகட்டத்தின் ஒரு பகுதியை ஒதுக்கி வைக்கலாம்; தேர்ந்தெடுத்த version-ஐ அங்கே ஒப்பிடுங்கள். அது சரிந்தால், அது ஒரு curve fit.
- ஒவ்வொரு ஆண்டையும் தனியாகப் பாருங்கள். ஒரே ஒரு ஆண்டிலிருந்து மட்டும் வந்த மேம்பாடு பலவீனமானது.
- செலவுகளுக்குப் பிறகு மீண்டும் சரிபாருங்கள். சில "மேம்பாடுகள்" trade-களைச் சேர்க்கின்றன, செலவுகளைப் போட்டதும் காணாமல் போகின்றன.
- முன்னோக்கி test செய்யுங்கள். புதிய version-ஐ Live Offline-ல் ஓட்டுங்கள், அங்கே strategy ஓடி ஒவ்வொரு trade-ஐயும் பதிவு செய்கிறது ஆனால் exchange-க்கு எதுவும் அனுப்பப்படாது, அதே நாட்களில் பழைய version-உடன் ஒப்பிடுங்கள்.
Overfitting பற்றி மேலும் அறிய மிகப் பொதுவான பத்து backtesting தவறுகள் படியுங்கள்.
எவ்வளவு அடிக்கடி re-optimize செய்ய வேண்டும்?
நீங்கள் நினைப்பதை விடக் குறைவாக. ஒரு strategy-க்கு மோசமான வாரம் வரும் ஒவ்வொரு முறையும் re-tune செய்வது, மெதுவான வேகத்தில் நடக்கும் overfitting தான். ஒரு நியாயமான வழக்கம்:
- மாதந்தோறும்: live முடிவுகளை backtest-உடன் ஒப்பிட்டு review செய்யுங்கள்; ஏதாவது தெளிவாக உடைந்தால் தவிர settings-ஐ மாற்றாதீர்கள்.
- காலாண்டுக்கு அல்லது அரையாண்டுக்கு ஒருமுறை: சமீபத்திய data-வையும் சேர்த்து backtest-ஐ மீண்டும் ஓட்டி, தேர்ந்தெடுத்த settings இன்னும் நிலையான range-க்குள் இருக்கின்றனவா என்று சரிபாருங்கள்.
- உடனடியாக: lot size அல்லது expiry நாள் மாற்றம், அல்லது strategy சார்ந்திருக்கும் ஒரு rule போன்ற அமைப்பு ரீதியான மாற்றம் வரும்போது மட்டும்.
நீண்ட காலமாக performance குறைந்திருந்தால், tune செய்வதா அல்லது ஓய்வு கொடுப்பதா என்று முடிவு செய்வதற்கு முன் strategy fatigue படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
ஒரு trading algorithm-ஐ எப்படி optimize செய்வது?
ஒரு baseline backtest-லிருந்து தொடங்குங்கள். பிறகு செலவுகள் மற்றும் execution, position sizing மற்றும் risk rule-களை மேம்படுத்துங்கள், தெளிவான காரணம் உள்ள filter-களைச் சேருங்கள், கடைசியாக சில எண் settings-ஐ tune செய்யுங்கள், நிலையான range-லிருந்து மதிப்புகளைத் தேர்ந்தெடுங்கள். ஒவ்வொரு மாற்றத்தையும் ஒதுக்கி வைத்த data-விலும் Live Offline testing-லும் உறுதிசெய்யுங்கள்.
Algorithmic trading-ல் overfitting என்றால் என்ன?
Overfitting என்பது ஒரு strategy-ஐ கடந்த data-வுடன் மிக நெருக்கமாக tune செய்து, அது உண்மையான pattern-க்குப் பதிலாக noise-ஐப் பிடிப்பது. புதிய data-விலோ live trading-லோ தொடராத அற்புதமான backtest முடிவுகளாக அது வெளிப்படுகிறது.
எந்த metric-க்காக optimize செய்ய வேண்டும்?
Risk-adjusted ஒன்றுக்காக, உதாரணமாக அதிகபட்ச drawdown-உடன் ஒப்பிட்ட return (Calmar) அல்லது Sharpe ratio, செலவுகளுக்குப் பிறகு. வெறும் லாபத்துக்காக optimize செய்தால், அது பெரும்பாலும் அதிக risk உள்ள, அதிகம் overfit ஆன version-ஐயே தேர்ந்தெடுக்கும்.
என் strategy-ஐ எவ்வளவு அடிக்கடி re-optimize செய்ய வேண்டும்?
மாதந்தோறும் review செய்யுங்கள், சில மாதங்களுக்கு ஒருமுறை புதிய data-வுடன் மீண்டும் test செய்யுங்கள், settings-ஐ அரிதாக மாற்றுங்கள். Lot size-கள் அல்லது expiry நாட்கள் போன்ற அமைப்பு ரீதியான மாற்றம் வரும்போது மட்டுமே உடனடியாக மாற்றுங்கள்.
Tradetron-ல் optimization tool உள்ளதா?
Tradetron-ன் backtest form-ல் ஒரு sweep உள்ளது, அது உங்கள் strategy-ல் உள்ள ஒரு எண்ணின் பல மதிப்புகளை அருகருகே test செய்கிறது, தேர்ந்தெடுத்த மதிப்பைப் பார்க்காத data-வில் சரிபார்க்க காலகட்டத்தின் ஒரு பகுதியை ஒதுக்கி வைக்கவும் முடியும்.
என் algorithm-க்கு optimization தேவையா அல்லது மாற்றம் தேவையா என்று எப்படித் தெரியும்?
செலவுகளுக்குப் பிறகும் strategy positive edge காட்டி, ஆனால் விலகிப் போயிருந்தால், சிறிய, test செய்யப்பட்ட adjustment உதவலாம். அது சார்ந்திருக்கும் market pattern போய்விட்டால், உதாரணமாக contract-கள் trade ஆகும் விதத்தில் ஏற்பட்ட மாற்றத்தால், tune செய்துகொண்டே இருப்பதை விட அதை மாற்றுவதே பொதுவாக நல்லது.