مواد پر جائیں
لائبریری کی تمام دستاویزات

بیک ٹیسٹ کے اخراجات: غیر مؤثر ترتیب کی تشریح

کوڈ Machine Learning for Trading

خلاصہ

یہ ترتیب سے متعلق نوٹ ان سیٹنگز میں فرق کرتی ہے جو بیک ٹیسٹ کی شناخت میں دکھائی دیتی ہیں اور ان سیٹنگز میں جو واقعی فرضی ٹریڈنگ اخراجات پر اثر ڈالتی ہیں۔ بیان کردہ کیس اسٹڈی میں تمام رجسٹرڈ رنز ویکٹرائزڈ، منافع تا میعاد ختم ہونے والا راستہ استعمال کرتے ہیں۔ ترتیب دی گئی عمل درآمد قیمت، کمیشن کی شرح، اور سلپیج کی شرح اس راستے کو نہیں دی جاتیں، اور کوٹ کی جانب سے فلز کا تعلق ایونٹ پر مبنی بروکر سے ہے جسے ویکٹرائزڈ رنز تشکیل نہیں دیتے۔ سیٹنگز ترتیب میں رہتی ہیں کیونکہ انہیں ہٹانے سے موجودہ رنز کی ہیش شدہ شناخت بدل جائے گی۔

اصل اخراجات الگ سیٹ اپ فائل سے پڑھے جاتے ہیں: آپشنز کے داخلے اور اخراج کے اسپریڈ، ہر ری بیلنس پر تخمینی ہیج اسپریڈ، اور فی کنٹریکٹ یا فی حصص کمیشن۔ نوٹ کے مطابق مقررہ آبادی میں درج کل سلپیج فیلڈ خالی ہے، باوجود اس کے کہ اخراجات وصول کیے گئے، کیونکہ اس راستے میں اخراجات کے مجموعے درج نہیں ہوتے۔ یہ آڈٹ کا مفید سبق ہے: صرف ترتیب کی کوئی قدر یا اخراجات کی پیمائش کا غائب ہونا یہ ثابت نہیں کرتا کہ بیک ٹیسٹ میں کیا خرچ ہوا۔ نتائج مخصوص نفاذ پر لاگو ہوتے ہیں، اور رنر یا اخراجات کے ڈیٹا بہاؤ میں تبدیلی ہو تو دوبارہ جانچنے چاہییں۔

اہم خیالات

  • ترتیب کی فیلڈز رن کی ہیش شدہ شناخت پر اثر ڈال سکتی ہیں، چاہے عمل درآمد کا راستہ انہیں استعمال نہ کرے۔
  • یہاں بیان کردہ ویکٹرائزڈ منافع تا میعاد راستہ ترتیب کردہ شرحی کمیشن اور سلپیج فیلڈز استعمال نہیں کرتا۔
  • حقیقی فرضی اخراجات الگ آپشن، ہیج، اور تصفیے کے اجزا سے آتے ہیں۔
  • مجموعی سلپیج فیلڈ خالی ہونے سے یہ ثابت نہیں ہوتا کہ کوئی اخراجات وصول نہیں ہوئے۔
  • اخراجات کی تشریح مخصوص رنر اور اس کے ڈیٹا بہاؤ کا سراغ لگانے پر منحصر ہے۔

ٹیگز

مکمل متن
# base.yaml


```yaml
# Three fields below are inert on the path this case study runs: `execution.execution_price`,
# `commission.rate` and `slippage.rate`. Every registered backtest here is `ret_to_expiry`,
# which `case_studies/utils/backtest_runner.py` routes to `_run_htm_daily_mtm`, and that call
# is not passed `cost_spec` - the only thing that carries these rates into a run. The
# `quote_side` fill is read by the event-driven broker, which a `rebalance.mode: vectorized`
# case study never constructs. They still reach the registered `backtest_config` and so the
# hashed identity, which is why they stay: removing them would re-key 879 backtests to delete
# values nothing reads.
#
# The costs this case study actually pays come from `_htm_backtest.py`, which reads
# `config/setup.yaml::costs.components` directly - per-leg entry spread from the real option
# quotes, `hedge_spread.estimate_bps_of_notional` on every hedge rebalance,
# `commission.option_per_contract` and `commission.equity_per_share`, plus an exit spread on
# liquidation. Verified 2026-09-12; `total_slippage` is NULL on all 879 rows because the
# vectorized path records no cost totals, not because nothing was charged.
account:
  allow_short_selling: true
execution:
  execution_price: quote_side
  mark_price: price
  execution_mode: next_bar
commission:
  model: percentage
  rate: 0.0005
slippage:
  model: percentage
  rate: 0.0002
calendar:
  calendar: NYSE
  timezone: UTC
  data_frequency: daily
feed:
  timestamp_col: timestamp
  entity_col: symbol
  price_col: instr_mid
  close_col: close
  bid_col: instr_bid
  ask_col: instr_ask
  mid_col: instr_mid
metadata:
  case_study: sp500_options

```

ماخذ کا حوالہ دیتے ہوئے مکمل متن دکھایا گیا ہے، ماخذ کے لائسنس کے تحت۔ لائسنس: MIT

یہ خلاصہ اصل ماخذ سے Stratmill کے تحقیقی ایجنٹ نے لکھا ہے؛ یہ ماخذ کی نقل نہیں۔