7 সেপ্টেম্বর, 2026 · অপশনস

আপনার অপশনস ব্যাকটেস্টের ভিত্তি যে সারি: একটি Deribit BTC কল, প্রতিটি ফিল্ড ধরে

আপনার অপশনস ব্যাকটেস্টের ভিত্তি যে সারি: একটি Deribit BTC কল, প্রতিটি ফিল্ড ধরে

গত মাসে গবেষণা দলের একজন আমাকে জিজ্ঞেস করেছিলেন, আমাদের অপশনস এজেন্টগুলো কেন দেখতে পুরোপুরি যুক্তিসংগত একটি long-gamma ধারণা বারবার বাতিল করছে। সিগন্যাল ঠিক ছিল। ভোলের পূর্বাভাসও ঠিক ছিল। সমস্যা ছিল মার্কেট ডেটা ফিডের দুটি ফিল্ডে এবং এমন একটি সংখ্যায়, যা ফিডে একেবারেই নেই।

তাই এখানে সেই আসল অবজেক্টটি দিলাম, যা নিয়ে আমাদের তর্ক হচ্ছিল। Deribit ticker response, BTC-25SEP26-110000-C, সোমবার 11:20 UTC-তে নেওয়া, চুক্তির মেয়াদ শেষ হতে তখনও আঠারো দিন বাকি। অপ্রচলিত ফিল্ডগুলো বাদ দিয়ে প্রয়োজনীয় সবকিছু রেখেছি।

{
  "instrument_name": "BTC-25SEP26-110000-C",
  "index_price": 96412.18,
  "underlying_price": 96980.44,
  "underlying_index": "SYN.BTC-25SEP26",
  "estimated_delivery_price": 96412.18,
  "mark_price": 0.0041,
  "mark_iv": 42.14,
  "best_bid_price": 0.0038,  "best_bid_amount": 4.9,
  "best_ask_price": 0.0045,  "best_ask_amount": 12.1,
  "bid_iv": 40.42,           "ask_iv": 43.94,
  "last_price": 0.0043,
  "interest_rate": 0.0,
  "open_interest": 812.7,
  "greeks": {
    "delta": 0.0962, "gamma": 0.0000189,
    "vega": 36.77,   "theta": -42.91,  "rho": 4.61
  },
  "stats": { "volume": 61.2, "high": 0.0051, "low": 0.0036 }
}

instrument_name: একটি স্ট্রিংয়ে চারটি তথ্য

BTC-25SEP26-110000-C। আন্ডারলাইং BTC, মেয়াদ শেষ 25 সেপ্টেম্বর 2026, স্ট্রাইক 110,000, কল। স্ট্রিংটি যা বলে না, আর নতুন অপশনস ব্যাকটেস্টে যা অন্তত একবার সবাই ভুল করে, তা হলো চুক্তির বাকি শর্ত: একটি কন্ট্রাক্টে আন্ডারলাইংয়ের 1 BTC থাকে, প্রিমিয়াম কোট ও পরিশোধ করা হয় BTC-তে, আর মেয়াদ শেষ হয় 08:00 UTC-তে, স্থানীয় সময় 16:00-তে নয়।

BTC-তে কোট করাটাই এখানে বিপজ্জনক দিক। 0.0041-এর মার্ক মানে 0.0041 BTC, ইনডেক্স দরে আনুমানিক $395। আপনি যদি ওই কলামকে দাম হিসেবে সংরক্ষণ করেন, পরে USD-তে হিসাব করা কৌশলের P&L-এর সঙ্গে যুক্ত করেন, তাহলে নীরবে এমন একটি পজিশন তৈরি করেছেন যার ডলার মূল্য স্পটের সঙ্গে ওঠানামা করবে, যদিও অপশনের দাম নড়েনি। এমন ব্যাকটেস্ট দেখেছি যেখানে BTC পড়ার দিনেও long-call লেগে লাভ হয়েছে, শুধু প্রিমিয়াম কলামকে ডলার ধরে নেওয়ায় গবেষক আসলে ডলার হিসাবের কাঠামোর বিপরীতে কয়েন-নির্ধারিত প্রিমিয়ামে শর্ট ছিলেন। ভুলটা খুঁজে পেতে দুদিন লেগেছিল।

index_price বনাম underlying_price: 568 ডলারের ফারাক, অথচ একটিই সঠিক

এ দুটির মধ্যে $568.26 পার্থক্য আছে, এবং এটি কোনো ভুল নয়। index_price হলো Deribit BTC index—স্পটের রেফারেন্স, বড় এক্সচেঞ্জগুলোর দামের মিশ্রণ, এবং যে দামের বিপরীতে চুক্তির চূড়ান্ত নিষ্পত্তি হয়। underlying_price হলো ওই নির্দিষ্ট মেয়াদের সিনথেটিক ফরোয়ার্ডের দাম, SYN.BTC-25SEP26, যা একই তারিখের ফিউচারস বাজার থেকে হিসাব করা। বার্ষিক প্রায় 12% হারে আঠারো দিনের ক্যারি থেকেই এই $568 আসে।

পেলোডের প্রতিটি গ্রিক, আর mark IV, ফরোয়ার্ডের ভিত্তিতে হিসাব করা। আপনার কাছে যে সিরিজটি ছিল সেটিই স্পট বলে নিজে ইমপ্লাইড ভোলাটিলিটি আবার হিসাব করলে, প্রতিটি স্ট্রাইকে আলাদা মান পাবেন; আর ভুলটি নির্দিষ্ট দিকেই হবে: ভোলের হিসাবে কল যতটা সস্তা, তার চেয়ে সস্তা দেখাবে; পুটকে দেখাবে বেশি দামি। 0.6% বেসিসসহ 18 দিনের চুক্তিতে এই স্ট্রাইকে mark IV প্রায় দেড় পয়েন্ট ভুল হবে। মানুষ যে ভোল এজ ঘিরে কৌশল লেখে, তার বেশিরভাগের চেয়েও এই ভুল বড়।

interest_rate: 0.0 দিয়ে Deribit জানায়, রেট ব্যবহার না করে ফরোয়ার্ডের মাধ্যমেই ডিসকাউন্টিং করা হয়। বসানোর জন্য রিস্ক-ফ্রি কার্ভ খুঁজতে যাবেন না; তাতে একই হিসাব দুবার হবে।

mark_price ও mark_iv: প্রতিপক্ষহীন একটি দাম

0.0041 BTC। কেউ এই দামে কেনেনি। Deribit একটি ফিট করা ভোল সারফেস থেকে মার্ক হিসাব করে; এটি অর্ডার বুককে ভিত্তি ধরে, কিন্তু স্ট্রাইক ও মেয়াদজুড়ে মসৃণ করা হয়, যাতে একটিমাত্র প্রশস্ত কোট নড়লেই মার্জিন ও লিকুইডেশন লাফিয়ে না ওঠে। মার্জই আপনার মার্জিনে ব্যবহৃত হয়, আপনার অবাস্তবায়িত P&L-এ ব্যবহৃত হয়, এবং প্রতিটি পজিশন endpoint-এ দেখা যায়।

তাই ক্রিপ্টো অপশনস গবেষণায় এটিই সবচেয়ে প্রলুব্ধকর fill price, এবং সবচেয়ে ভুল। mark-এ কেনা ও mark-এ বিক্রি করা ব্যাকটেস্ট আসলে একটি smoothing spline-এর সঙ্গে লেনদেন করছে। এটি একটি Sharpe তৈরি করবে। সেই Sharpe সারফেস ফিটারটির বর্ণনা দেয়; আপনি সত্যিই লেনদেন করতে পারতেন কি না, সে বিষয়ে এর কোনো তথ্য নেই।

শেষ পর্যন্ত আমরা এই নিয়মটি কোডে রেখেছি: মার্জিন, ঝুঁকি এবং mid-to-mid অ্যাট্রিবিউশনের জন্য mark ব্যবহার হবে। এটি কখনো fill নয়। ব্যাকটেস্টে fill দরকার অথচ ওই টাইমস্ট্যাম্পের book snapshot নেই, তাহলে mark-এ fill না করে রানটিকে unpriced হিসেবে চিহ্নিত করা হবে। সারিটি বাদ দেওয়াই আমাদের পছন্দ।

best_bid 0.0038 / best_ask 0.0045: তিন এককে স্প্রেড

BTC-র হিসাবে সাত টিক চওড়া। $395-এর অপশনে এটি $67.50, অর্থাৎ প্রিমিয়ামের 17%। ভোলের হিসাবে 3.5 পয়েন্ট: bid 40.4, ask 43.9। কোনো অপশনস ট্রেডারকে কোনো কিছুর স্প্রেড কত চওড়া জিজ্ঞেস করলে আসলে এই সংখ্যাটাই বলবেন।

দামের মতোই পরিমাণও গুরুত্বপূর্ণ: bid-এ 4.9 কন্ট্রাক্ট, ask-এ 12.1। Deribit অপশনসে সাইজ কন্ট্রাক্টে দেখানো হয়, তাই আন্ডারলাইংয়ের 4.9 BTC, প্রায় $472k নোটিওনাল—কিন্তু এই স্ট্রাইকে মাত্র 0.47 BTC ডেল্টা। আপনার কৌশলে অর্থবহ গামা দরকার হলে কয়েক ডজন কন্ট্রাক্ট লাগবে, অথচ টাচে দৃশ্যমান বুকে তার সামান্য অংশই আছে। দ্বিতীয় লেভেল সাধারণত আরও দুই বা তিন টিক দূরে। সাইজ মডেল থাকা যেকোনো অপশনস ব্যাকটেস্টকে বুক ধরে এগোতে হবে, অথবা RFQ/block pricing ধরে নিতে হবে; এই দুই অনুমানে ফল একেবারেই আলাদা হয়।

last_price: 0.0043 হলো গত 24 ঘণ্টার কোনো এক সময়ে হওয়া লেনদেন, সম্ভবত উনিশ ঘণ্টা আগে, তখন স্পটের দাম ছিল একেবারেই আলাদা। দিনে মাত্র 61টি কন্ট্রাক্ট লেনদেন হয় এমন ইন্সট্রুমেন্টে এটি স্বভাবতই পুরোনো। এটি দিয়ে রিটার্ন সিরিজ তৈরি করবেন না।

greeks: পাঁচটি সংখ্যা, এককের চার রীতি

এই ব্লকটিই পুরো পেলোডের বাকি অংশের চেয়ে বেশি নীরব ক্ষতি করে, কারণ প্রতিটি মান মাত্রাগতভাবে সঠিক, কিন্তু কোনোটির এককই আপনার অনুমানের সঙ্গে মেলে না।

ফিল্ডমানএককসাধারণ ভুল পাঠ
delta0.0962প্রতি কন্ট্রাক্টে আন্ডারলাইংয়ের BTCডলার ডেল্টা ধরে নেওয়া
gamma0.0000189আন্ডারলাইং $1 নড়লে Δdelta1% পরিবর্তন ধরে নেওয়া
vega36.77প্রতি 1 vol point-এ USDপ্রতি 100% ভোল, অথবা BTC-তে ধরে নেওয়া
theta-42.91প্রতি ক্যালেন্ডার দিনে USDট্রেডিং দিন ধরে নেওয়া
rho4.61প্রতি 1% রেটে USDউপেক্ষা করা, যথার্থভাবেই

ডেল্টা কয়েনে, ভেগা ও থিটা ডলারে, আর গামা স্পটের প্রতি ডলার পরিবর্তনের হিসাবে। কয়েন-নির্ধারিত ডেল্টাকে ডলার-নির্ধারিত ঝুঁকির মোট হিসাবে মেশালে বইটি সমতল দেখালেও দেখা যায় 40 BTC লং। আর থিটা প্রতি ক্যালেন্ডার দিনে হিসাব হওয়ায় সপ্তাহান্তের কৌশলগুলো ধাক্কা খায়: শুক্রবার বন্ধ থেকে সোমবার খোলার মধ্যে ক্ষয় হয় তিন দিনের, এখানে প্রতি কন্ট্রাক্টে প্রায় $129, অথচ ট্রেডিং সেশন শূন্য। আপনার ব্যাকটেস্ট বার ধরে এগোয় এবং প্রতি ধাপে থিটা প্রয়োগ করে, তাহলে সপ্তাহান্ত উধাও হবে, আর সব short-premium কৌশল বাস্তবের তুলনায় নীরবে খারাপ দেখাবে।

open_interest 812.7, volume 61.2: চেইনের বাস্তব অবস্থা

গতকাল 61টি লেনদেন হওয়া স্ট্রাইকে ওপেন ইন্টারেস্ট 800 কন্ট্রাক্ট। এটি বাস্তব, সক্রিয় স্ট্রাইক—তিন সপ্তাহ পরের 110,000 একটি পূর্ণ সংখ্যা, ঠিক যেখানে ফ্লো জমা হয়। আরও দুই স্ট্রাইক বাইরে 120,000-এ গেলে ওপেন ইন্টারেস্ট দশ ভাগের এক ভাগে নেমে আসে; মাসিক মেয়াদ নয় এমন সময়ে পূর্ণ সংখ্যা নয় এমন স্ট্রাইকে গেলে এমন ইন্সট্রুমেন্ট পাবেন, যেখানে bid আছে, ask তার থেকে 40% দূরে, আর এক সপ্তাহে কোনো লেনদেন হয়নি।

তালিকাভুক্ত প্রতিটি ইন্সট্রুমেন্ট ঘেঁটে চেইনজুড়ে চালানো ব্যাকটেস্টে সবগুলোতেই অনায়াসে fill হবে। আমরা যৌথ শর্ত দিয়ে বাছাই করেছি: কোট করা স্প্রেড mark-এর 20%-এর নিচে, দুই দিকেই অন্তত 1 কন্ট্রাক্ট, আর আগের 24 ঘণ্টায় volume শূন্য নয়। একটি সাধারণ দিনে তালিকাভুক্ত BTC চেইনের প্রায় এক-তৃতীয়াংশ এই শর্তে টেকে। বাকি দুই-তৃতীয়াংশেই জাল alpha থাকে।

পেলোডে নেই যে ফিল্ড

এই অবজেক্টের কোথাও বলা নেই একটি ট্রেডে কত খরচ হয়। Deribit প্রতি অপশন কন্ট্রাক্টে 0.0003 BTC চার্জ করে, maker ও taker উভয়ের জন্যই—আন্ডারলাইংয়ের 0.03%, প্রিমিয়ামের নয়—সর্বোচ্চ অপশনের দামের 12.5% পর্যন্ত। এই চুক্তিতে প্রতি পাশে $28.92, সীমা প্রযোজ্য হওয়ার আগেই, কারণ 0.0041-এর 12.5% হলো 0.000513, যা ফ্ল্যাট ফির চেয়ে বেশি।

ফি নোটিওনালের ওপর, আর প্রিমিয়াম ভোলের ওপর নির্ভর করায়, যখনই আপনি out of the money-র দিকে যান, পরিশোধিত অর্থের অনুপাতে খরচ হু হু করে বাড়ে।

$67.50কোট করা স্প্রেড (mark-এর 17%)
$28.92প্রতি কন্ট্রাক্টে, প্রতি পাশে ফি
31%প্রিমিয়ামের শতাংশে রাউন্ড ট্রিপ
3.5 ptsভোলে bid/ask প্রস্থ

0.0045-এ offer কিনুন ($434), 0.0038-এ bid-এ বিক্রি করুন ($366), দুবার ফি দিন: $395-এ মার্ক করা কন্ট্রাক্টে রাউন্ড ট্রিপে $125.80। আপনার দৃষ্টিভঙ্গির মূল্য প্রিমিয়ামের 31% না হলে আপনি সমানে আসবেন না। long-gamma ধারণাটি বাতিল হওয়ার পুরো কারণ এটাই; সিগন্যালের সঙ্গে এর কোনো সম্পর্ক ছিল না।

ডেল্টা কিনতে কত খরচ হয় জিজ্ঞেস করলে বিষয়টি আরও মজার, কারণ ফি কন্ট্রাক্টের সঙ্গে বাড়ে আর কন্ট্রাক্টের সংখ্যা ডেল্টার ব্যস্তানুপাতিক। হিসাবের সুবিধার জন্য সব স্ট্রাইকে mark IV 42.1%-এ স্থির ধরা হয়েছে (বাস্তব চেইনে skew থাকে, আর ক্রিপ্টোতে কল উইং সাধারণত ATM-এর ওপরে লেনদেন হয়, ফলে এই টেবিল আশাবাদী):

ইন্সট্রুমেন্টMark (BTC)Delta1 BTC ডেল্টার জন্য কন্ট্রাক্টপ্রতি পাশে ফিপ্রতি BTC ডেল্টায় খরচ
97000-C (ATM)0.03730.5181.93$28.92$55.80
110000-C0.00410.09610.4$28.92$301
120000-C0.00040.01379.4$4.82 (সীমাবদ্ধ)$383
BTC perp—1.01.0$48.21$48.21

নিচের সারিতে 12.5% সীমাটি সত্যিই কাজে দিচ্ছে; এটি না থাকলে গভীর উইংয়ে প্রতি BTC ডেল্টার খরচ হতো $2,300, আর লটারি-টিকিট ধরনের কৌশল কেবল খারাপ নয়, গাণিতিকভাবেই অসম্ভব হতো। সীমা থাকা সত্ত্বেও, 120,000 স্ট্রাইক দিয়ে এক্সপোজার কিনতে পারপেচুয়ালের চেয়ে প্রায় আট গুণ খরচ হয়। দিকনির্দেশক মত প্রকাশের সস্তা উপায় অপশনস নয়, আর কোনো ব্যাকটেস্টে উল্টো ফল এলে বুঝবেন এই টেবিলটি বাদ পড়েছে।

08:00 UTC, 25 সেপ্টেম্বর

টিকার যে শেষ বিষয়টি বলে না, তা হলো পজিশনের নিষ্পত্তি কীভাবে হয়। মেয়াদ শেষের দিনে 08:00 UTC-র আগের 30 মিনিটের ইনডেক্সের গড় ধরে Deribit অপশন নিষ্পত্তি করে, আর ইন-দ্য-মানি কন্ট্রাক্টে 0.00015 BTC ডেলিভারি ফি নেয়; এটিও নিষ্পত্তি মূল্যের 12.5%-এ সীমাবদ্ধ।

ব্যাকটেস্টের জন্য এর দুটি তাৎপর্য আছে। প্রথমত, ওই গড়ের সময়সীমা বাস্তব; এখানে ভুল হতে পারে: 07:59-এ $300 ইন-দ্য-মানি থাকা অপশন শেষ আধঘণ্টা খারাপ গেলে মূল্যহীন নিষ্পত্তি হতে পারে, আর 08:00-র প্রিন্টে নিষ্পত্তি করা ব্যাকটেস্ট অধিকাংশ মেয়াদে আপনার পেপার অ্যাকাউন্ট থেকে কয়েক basis point, আর কিছু মেয়াদে অনেকটাই আলাদা হবে। দ্বিতীয়ত, নিষ্পত্তি চেয়েছিলেন কি না তা নির্বিশেষে ডেলিভারি ফি দিতে হয়; তাই মেয়াদ পর্যন্ত ধরে রাখা কৌশলে এক চক্রে তিনটি ফি, আর 07:30-এ বন্ধ করা কৌশলে দুটি ফি ও একটি স্প্রেড লাগে। কোনটি সস্তা তা স্ট্রাইকের ওপর নির্ভর করে, আর প্রিমিয়াম প্রায় 0.0012 BTC হলে হিসাব উল্টে যায়। আমরা একটাই স্থির নিয়ম না ধরে প্রতিটি পজিশনের জন্য হিসাব করি।

এই পোস্টের যে সংস্করণটি লিখতে চেয়েছিলাম, তা ছিল ভোল পূর্বাভাস নিয়ে। তার বদলে এক সপ্তাহ কাটিয়েছি একক আর ফি-সীমা নিয়ে, যা অপশনস গবেষণায় চাকচিক্য আর বাস্তবতার সঠিক অনুপাতের কাছাকাছি।

কুড়িটি ফিল্ড। নকশা অনুযায়ী পরস্পর অমিল দুটি দাম, এমন একটি দাম যাতে কখনো লেনদেন হয়নি, চার একক-পদ্ধতির গ্রিকস, আর পেলোডের বাইরে একটি ডকুমেন্টেশন পাতায় থাকা খরচের মডেল। অপশনস ব্যাকটেস্ট দাঁড় করালে প্রথম দিনেই এমন একটি ফাংশন লিখুন, যা এই অবজেক্টগুলোর একটিকে সম্পূর্ণ খরচসহ, সঠিক এককে প্রকাশ করা পজিশনে রূপান্তর করে—স্প্রেড, ফি, সীমা, ডেলিভারি, কয়েন না ডলার। এর পরের প্রতিটি কৌশল ওই ফাংশনের ধারণা উত্তরাধিকার সূত্রে পাবে।

ক্রিপ্টো অপশনসderibitইমপ্লাইড ভোলাটিলিটিফিব্যাকটেস্টিং
শেয়ার করুনXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← সব পোস্ট