3 اپریل 2025 کو، امریکہ نے چینی درآمدات پر بڑے پیمانے پر محصولات کا اعلان کیا۔ اس دن، SPY 4.8% گر گیا۔ اگلے دن اس میں مزید 6 فیصد کمی آئی۔ مالیاتی خبریں شہ سرخیوں پر حاوی رہیں کیونکہ جغرافیائی سیاسی غیر یقینی صورتحال کی وجہ سے مارکیٹیں ہل رہی تھیں۔
تین ماہ قبل، 5 اگست 2024 کو، ین کیری ٹریڈ کو ختم کر دیا گیا تھا۔ SPY ایک ہی سیشن میں 3% گر گیا۔ VIXY ہٹ 65۔ شہ سرخیاں جیسے: جیو پولیٹیکل غیر یقینی صورتحال نے بازاروں کو ہلا کر رکھ دیا۔
دونوں واقعات کو ایک ہی لیبل ملا۔ لیکن اگر آپ حقیقت میں ڈیٹا لیں اور دیکھیں کہ کیا منتقل ہوا ہے، دونوں واقعات میں بہت کم مشترک ہے۔ ٹیرف کے اثرات کی وجہ سے سونا بڑھ گیا۔ یہ Enfullim میں گر گیا. ین کی کمزوری کے درمیان بانڈز میں تیزی آئی۔ ٹیرف کے جھٹکے کے درمیان، انہوں نے اسٹاک کے ساتھ فروخت کیا۔
ایک ہی لیبل۔ ایک بالکل مختلف مارکیٹ۔
یہ سمجھنے کے لیے کہ کیوں، یہ تجزیہ Python اور EODHD کے مارکیٹ ڈیٹا API کا استعمال کرتا ہے تاکہ تین جغرافیائی سیاسی واقعات کو عدالتی طور پر الگ کیا جا سکے۔ ہم اس بات کا پتہ لگائیں گے کہ کیا منتقل ہوا، کس ترتیب میں، اسپاٹ کی قیمتوں میں منتقل ہونے سے پہلے آپشنز کی مارکیٹ کیا قیمتوں کا تعین کر رہی تھی، اور اس کے ذریعے کیا خبروں کے جذبات بول رہے تھے۔ ڈیٹا سرخیوں سے زیادہ مخصوص کہانی بتاتا ہے۔
انڈیکس
شرطیں
اگلے مراحل پر جانے سے پہلے آپ کو بنیادی Python اور Pandas سے واقف ہونا چاہیے۔ یہ مضمون فرض کرتا ہے کہ آپ ڈیٹا فریم پڑھ سکتے ہیں، لغات استعمال کر سکتے ہیں، سادہ فنکشن لکھ سکتے ہیں، اور واپسی کے بنیادی حسابات کو سمجھ سکتے ہیں۔
آپ کو بھی ضرورت ہو گی:
-
Python 3.9 یا اس سے زیادہ
-
EODHD API کلید
-
مندرجہ ذیل Python لائبریریاں:
requests،pandas،numpyاورplotly -
ETFs کا بنیادی علم جیسے SPY، QQQ، GLD، TLT اور VIXY
-
واپسی، اتار چڑھاؤ، مضمر اتار چڑھاؤ، آپشن سکیو، ارتباط، اور مارکیٹ کی نفسیات کی کچھ سمجھ۔
مضمون کی پیروی کرنے کے لیے آپ کو اختیارات کا ماہر بننے کی ضرورت نہیں ہے۔ اختیارات کا سیکشن ایک سادہ خیال استعمال کرتا ہے۔ جب پیسے سے باہر رکھنے کے اختیارات ایٹ دی منی کال کے اختیارات سے زیادہ مہنگے ہو جاتے ہیں، تو مارکیٹ منفی تحفظ کے لیے زیادہ ادائیگی کرتی ہے۔ ہم اسے مکمل آپشن پرائسنگ ماڈل کے بجائے کسی حد تک خوفناک سگنل کے طور پر استعمال کریں گے۔
مقصد ایک کامل جیو پولیٹیکل رسک ماڈل بنانا نہیں ہے۔ مقصد یہ بتانا ہے کہ کس طرح مارکیٹ ڈیٹا کی مختلف پرتیں ایک قسم کے جھٹکے کو دوسرے سے الگ کرنے میں مدد کر سکتی ہیں۔
ترتیبات: اثاثہ باسکٹ اور ڈیٹا ماخذ
اثاثوں کی ایک ٹوکری ایک سوال کے ارد گرد تشکیل دی گئی ہے: کون سا ٹول سب سے بہتر اس بات کی نشاندہی کرتا ہے کہ مارکیٹ جھٹکوں کی تشریح کیسے کرتی ہے؟
براڈ اسٹاکس (SPY, QQQ, IWM) سیل آف کا پیمانہ ظاہر کرتے ہیں اور کون سے مارکیٹ کیپٹلائزیشن کے شعبے سب سے زیادہ متاثر ہوئے۔ سیکٹر ETFs (XLE, XLF, ITA, XLK) ظاہر کرتے ہیں کہ معاشی نتائج کی قیمت کہاں ہے۔ توانائی، مالیات، دفاع اور ٹیکنالوجی ہر ایک جھٹکے کی نوعیت کے لحاظ سے مختلف رد عمل ظاہر کرتی ہے۔ محفوظ پناہ گاہیں (GLD، TLT، UUP) سب سے زیادہ تشخیصی ہیں۔ سونا، بانڈز، اور ڈالر اسٹاک کے مقابلے میں کس طرح کارکردگی کا مظاہرہ کرتے ہیں ہمیں بتاتا ہے کہ مارکیٹ کس قسم کے خوف کا اظہار کر رہی ہے۔ VIXY مضمر اتار چڑھاؤ کو براہ راست ٹریک کرتا ہے۔
ایک ساتھ، یہ 11 اثاثے ہر ایونٹ کے لیے فنگر پرنٹ بناتے ہیں۔
ہم نے EODHD کے تاریخی EOD API سے ڈیٹا حاصل کیا۔ ہر ایونٹ کو ایونٹ کی تاریخ کے دونوں طرف 30 دن کی مدت دی جاتی ہے۔
import requests
import pandas as pd
import numpy as np
import plotly.graph_objects as go
from plotly.subplots import make_subplots
api_key = 'your_eodhd_api_key'
events = {
'oct7_attack': {
'date': '2023-10-07',
'label': 'Hamas Attack on Israel (Oct 2023)',
'shock_type': 'confidence',
'shock_label': 'Type 1 - Confidence Shock'
},
'yen_carry_unwind': {
'date': '2024-08-05',
'label': 'Yen Carry Unwind + Middle East Escalation (Aug 2024)',
'shock_type': 'liquidity',
'shock_label': 'Type 2 - Liquidity Shock'
},
'tariff_shock': {
'date': '2025-04-03',
'label': 'US-China Tariff Shock (Apr 2025)',
'shock_type': 'structural',
'shock_label': 'Type 3 - Structural Shock'
}
}
assets = {
'spy': 'SPY.US', 'qqq': 'QQQ.US', 'iwm': 'IWM.US',
'xle': 'XLE.US', 'xlf': 'XLF.US', 'ita': 'ITA.US',
'xlk': 'XLK.US', 'gld': 'GLD.US', 'tlt': 'TLT.US',
'uup': 'UUP.US', 'vixy': 'VIXY.US'
}
def fetch_prices(ticker, start, end):
url = f'https://eodhd.com/api/eod/{ticker}'
params = {
'from': start,
'to': end,
'api_token': api_key,
'fmt': 'json'
}
r = requests.get(url, params=params)
df = pd.DataFrame(r.json())
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')[['adjusted_close']]
df.columns = [ticker.split('.')[0].lower()]
return df
def fetch_event_prices(event_date, lookback=30, lookahead=30):
start = (pd.Timestamp(event_date) - pd.Timedelta(days=lookback)).strftime('%Y-%m-%d')
end = (pd.Timestamp(event_date) + pd.Timedelta(days=lookahead)).strftime('%Y-%m-%d')
frames = [fetch_prices(ticker, start, end) for ticker in assets.values()]
return pd.concat(frames, axis=1)
event_prices = {name: fetch_event_prices(e['date']) for name, e in events.items()}
event_prices.keys()
یہ ہمیں تین ڈیٹا فریم دیتا ہے، ایک فی ایونٹ، ہر ایک 11 کالموں اور تقریباً 60 قطاروں کے ساتھ، پوری ونڈو کا احاطہ کرتا ہے۔
dict_keys(['oct7_attack', 'yen_carry_unwind', 'tariff_shock'])
تمام قیمتوں کو قریب سے ایڈجسٹ کیا جاتا ہے، لہذا کسی بھی تقسیم یا ڈیویڈنڈ کی تحریف کو صاف طور پر شمار کیا جاتا ہے۔
قیمت ایڈجسٹمنٹ ترتیب انجن
ہر واقعہ کو انفرادی طور پر دیکھنے سے پہلے، ہمیں پورے ایونٹ میں کیا ہوا اس کی پیمائش کرنے کے لیے ایک مستقل طریقہ کی ضرورت ہے۔ قیمت ایڈجسٹمنٹ کی ترتیب کا انجن تین کام انجام دیتا ہے: ہم تمام اثاثوں کی قیمتوں کو ایونٹ کی تاریخ پر 100 تک معمول پر لاتے ہیں تاکہ اس بات کو یقینی بنایا جا سکے کہ اثاثوں کے درمیان موازنہ واضح ہے، ایونٹ کے ارد گرد سخت رینجز کو تقسیم کریں، اور قیمتوں میں تیز ترین ایڈجسٹمنٹ والے افراد کی شناخت کرنے کے لیے T+1 موومنٹ سائز کے حساب سے اثاثوں کی درجہ بندی کریں۔
def normalize_to_event(df, event_date):
event_date = pd.Timestamp(event_date)
valid_dates = df.index[df.index >= event_date]
anchor = valid_dates[0]
normalized = df.div(df.loc[anchor]) * 100
return normalized, anchor
def get_event_window(df, anchor, t_minus=5, t_plus=10):
start_idx = df.index.get_loc(anchor) - t_minus
end_idx = df.index.get_loc(anchor) + t_plus
start_idx = max(start_idx, 0)
return df.iloc[start_idx:end_idx + 1]
def repricing_leaderboard(window_df, anchor):
anchor_idx = window_df.index.get_loc(anchor)
post_event = window_df.iloc[anchor_idx:]
cumulative_returns = (post_event / post_event.iloc[0] - 1) * 100
t1_moves = cumulative_returns.iloc[1].abs().sort_values(ascending=False)
return cumulative_returns, t1_moves
event_windows = {}
leaderboards = {}
for name, meta in events.items():
df = event_prices[name]
normalized, anchor = normalize_to_event(df, meta['date'])
window = get_event_window(normalized, anchor)
cumret, t1_rank = repricing_leaderboard(window, anchor)
event_windows[name] = {'window': window, 'anchor': anchor, 'cumret': cumret}
leaderboards[name] = t1_rank
print(f"n{meta['label']}")
print(f'anchor date: {anchor.date()}')
print('T+1 move ranking:')
print(t1_rank.round(2))
حساب کتاب:
Hamas Attack on Israel (Oct 2023)
anchor date: 2023-10-09
T+1 move ranking:
vixy 3.35
iwm 1.13
xlf 0.73
ita 0.72
qqq 0.55
spy 0.52
uup 0.24
gld 0.17
xlk 0.15
tlt 0.14
xle 0.12
Name: 2023-10-10 00:00:00, dtype: float64
Yen Carry Unwind + Middle East Escalation (Aug 2024)
anchor date: 2024-08-05
T+1 move ranking:
vixy 20.52
tlt 2.24
xlf 1.62
xlk 1.36
iwm 1.09
qqq 0.96
spy 0.92
gld 0.80
xle 0.61
ita 0.57
uup 0.32
Name: 2024-08-06 00:00:00, dtype: float64
US-China Tariff Shock (Apr 2025)
anchor date: 2025-04-03
T+1 move ranking:
vixy 19.97
xle 9.20
ita 8.44
xlf 7.32
xlk 6.59
qqq 6.21
spy 5.85
iwm 4.46
gld 2.34
uup 1.11
tlt 1.09
Name: 2025-04-04 00:00:00, dtype: float64
VIXY T+1 میں تینوں ایونٹس کی قیادت کر رہا ہے۔ اتار چڑھاؤ کی وجہ سے قیمتیں کسی بھی چیز سے زیادہ تیزی سے بڑھ جاتی ہیں۔ تاہم، اگر آپ Vixi کو خارج کرتے ہیں، تو درجہ بندی بالکل مختلف ہوتی ہے۔
حماس کے حملے میں مجموعی طور پر تحریک چھوٹی تھی۔ VIXY کے علاوہ، سب سے بڑی تبدیلی IWM تھی، جو 1.13% تھی۔ ین کیری ان وائنڈ میں، TLT 2.24% پر دوسرا سب سے بڑا موور تھا، بانڈز نے محفوظ پناہ گاہوں کے طور پر سخت بولی لگائی۔ ٹیرف کے اثرات کی وجہ سے تمام ایکویٹی سیکٹرز میں 4% سے 9% کا اضافہ ہوا، جبکہ TLT میں 1.09% اور سونے کی قیمت میں 2.34% کا اضافہ ہوا۔
تین مکمل طور پر مختلف قیمتوں کے درجات کے ساتھ تین ایونٹس۔ صرف T+1 لیڈر بورڈ ہی آپ کو بامعنی بصیرت فراہم کر سکتا ہے کہ ہر مارکیٹ کی اصل قیمت کیا ہے۔
7 اکتوبر اینکرز کے لیے نوٹ: حملہ ہفتہ کو ہوا۔ چونکہ پہلا تجارتی دن پیر، 9 اکتوبر تھا، اس لیے حوالہ کی تاریخ 9 اکتوبر ہے، 7 اکتوبر نہیں۔
اختیاری ڈیٹا اور IV سکیو
قیمت کا ڈیٹا ہمیں بتاتا ہے کہ کیا ہوا ہے۔ اختیارات کا ڈیٹا ہمیں بتاتا ہے کہ مارکیٹ اس کو روکنے کے لیے کتنی رقم ادا کرنے کو تیار ہے۔
ترچھی پیمائش کا حساب یہاں آسان ہے۔ یعنی، OTM پوٹس (اسپاٹ اسٹرائیک 90-97%) اور اے ٹی ایم کالز (اسپاٹ 97-103%) کی اوسط مضمر اتار چڑھاؤ کے درمیان فرق۔ اگر یہ تعداد بڑھ جاتی ہے، تو مارکیٹ اوپر کی نمائش پر منفی تحفظ کے لیے ایک پریمیم ادا کر رہی ہے۔ یہ خوف کی مقدار ہے۔
EODHD پر آپشنز EOD اینڈ پوائنٹ سے SPY آپشن ڈیٹا کو کھینچتے ہیں اور ہر ایونٹ ونڈو کے لیے پورے ڈیٹا سیٹ کو صفحہ بندی کرتے ہیں۔
def fetch_options_all(ticker, start, end, exp_cap):
url="https://eodhd.com/api/mp/unicornbay/options/eod"
all_records = []
offset = 0
limit = 1000
cols = None
while True:
params = {
'filter[underlying_symbol]': ticker,
'filter[tradetime_from]': start,
'filter[tradetime_to]': end,
'filter[exp_date_to]': exp_cap,
'fields[options-eod]': 'type,exp_date,strike,volatility,tradetime',
'page[limit]': limit,
'page[offset]': offset,
'api_token': api_key,
'compact': 1
}
r = requests.get(url, params=params)
payload = r.json()
if 'meta' not in payload:
print(f'unexpected response at offset {offset}: {list(payload.keys())}')
break
if cols is None:
cols = [f.strip() for f in payload['meta']['fields']]
batch = payload['data']
all_records.extend(batch)
total = payload['meta']['total']
offset += limit
if offset >= total or not batch:
break
df = pd.DataFrame(all_records, columns=cols)
df['tradetime'] = pd.to_datetime(df['tradetime'])
df['exp_date'] = pd.to_datetime(df['exp_date'])
df['strike'] = pd.to_numeric(df['strike'], errors="coerce")
df['volatility'] = pd.to_numeric(df['volatility'], errors="coerce")
return df.dropna(subset=['volatility', 'strike']).query('volatility > 0')
def compute_skew(df, spot):
df = df.copy()
df['moneyness'] = df['strike'] / spot
for expiry in sorted(df['exp_date'].unique()):
sub = df[df['exp_date'] == expiry]
otm_puts = sub[(sub['type'] == 'put') & (sub['moneyness'].between(0.90, 0.97))]
atm_calls = sub[(sub['type'] == 'call') & (sub['moneyness'].between(0.97, 1.03))]
if otm_puts.empty or atm_calls.empty:
continue
daily_skew = []
for date, puts in otm_puts.groupby('tradetime'):
calls = atm_calls[atm_calls['tradetime'] == date]
if calls.empty:
continue
skew = puts['volatility'].mean() - calls['volatility'].mean()
daily_skew.append({'date': date, 'skew': skew})
if daily_skew:
print(f' using expiry: {expiry.date()}, {len(daily_skew)} days')
return pd.DataFrame(daily_skew).set_index('date').sort_index()
return pd.DataFrame()
spy_skew = {}
for name, meta in events.items():
anchor = event_windows[name]['anchor']
spot = event_prices[name].loc[anchor, 'spy']
start = (anchor - pd.Timedelta(days=20)).strftime('%Y-%m-%d')
end = (anchor + pd.Timedelta(days=5)).strftime('%Y-%m-%d')
exp_cap = (pd.Timestamp(end) + pd.Timedelta(days=90)).strftime('%Y-%m-%d')
raw = fetch_options_all('SPY', start, end, exp_cap)
print(f'n{meta["label"]} | total rows: {len(raw)}')
skew_df = compute_skew(raw, spot)
spy_skew[name] = skew_df
print(skew_df)
حساب کتاب:
Hamas Attack on Israel (Oct 2023) | total rows: 10435
using expiry: 2023-11-17, 3 days
skew
date
2023-10-11 0.014164
2023-10-12 0.034279
2023-10-13 0.054055
unexpected response at offset 11000: ['errors']
Yen Carry Unwind + Middle East Escalation (Aug 2024) | total rows: 10660
using expiry: 2024-10-18, 11 days
skew
date
2024-07-26 0.040748
2024-07-29 0.041219
2024-07-30 0.087402
2024-07-31 0.029824
2024-08-01 0.065074
2024-08-02 0.053369
2024-08-05 0.049848
2024-08-06 0.055957
2024-08-07 0.050664
2024-08-08 0.050283
2024-08-09 0.055462
unexpected response at offset 11000: ['errors']
US-China Tariff Shock (Apr 2025) | total rows: 10698
using expiry: 2025-06-20, 18 days
skew
date
2025-03-14 0.042500
2025-03-17 0.029671
2025-03-18 0.027886
2025-03-19 0.029360
2025-03-20 0.026691
2025-03-21 0.008500
2025-03-24 0.013388
2025-03-25 0.022157
2025-03-26 0.012829
2025-03-27 0.009171
2025-03-28 0.026971
2025-03-31 0.036586
2025-04-01 0.022857
2025-04-02 -0.023000
2025-04-03 0.019729
2025-04-04 0.036729
2025-04-07 0.005257
2025-04-08 0.041543
واقعہ کا تجزیہ کرنے سے پہلے چند مشاہدات قابل توجہ ہیں۔ 7 اکتوبر کے ڈیٹا سیٹ میں صرف تین ڈیٹا پوائنٹس ہیں، تمام واقعات کے بعد، اس مدت کے دوران اختیارات کی محدود رینج کی وجہ سے۔ ٹیرف امپیکٹ ڈیٹاسیٹ میں ایونٹ سے پہلے کی سب سے امیر ترین کوریج ہے، جو ایونٹ سے تقریباً تین ہفتے پہلے 14 مارچ تک جا رہی ہے۔ حادثے سے ایک دن پہلے 2 اپریل سے منفی اسکو ریڈنگ بھی شامل ہے۔ آئیے دیکھتے ہیں کہ ان میں سے ہر ایک کا سیاق و سباق میں کیا مطلب ہے جب ہم انفرادی واقعات سے رجوع کرتے ہیں۔
جامع کشیدگی کا سکور
سکیو سگنل میں ہی کمزوریاں ہیں۔ وہ جغرافیائی سیاسی تناؤ سے غیر متعلق وجوہات کی بناء پر بڑھ سکتے ہیں۔ اسے مزید طاقتور بنانے کے لیے، ہم اسے ایک دوسرے سگنل کے ساتھ جوڑتے ہیں: SPY اور GLD کے درمیان 10 دن کا تعلق۔
عام حالات میں، اسٹاک اور سونے کا کمزور یا منفی تعلق ہوتا ہے۔ جیسے جیسے تناؤ بڑھتا ہے، تعلقات ٹوٹ جاتے ہیں۔ ٹریکنگ اینالیٹکس آپ کو مارکیٹ کے تناؤ کا دوسرا، آزاد پیمانہ فراہم کرتا ہے جو آپشن کی قیمتوں پر منحصر نہیں ہوتا ہے۔
دونوں سگنلز کو یکجا کرنے سے پہلے z-اسکور کیا جاتا ہے، لہذا پیمانے کے فرق کی وجہ سے دونوں میں سے کوئی بھی غالب نہیں ہے۔ گرتے ہوئے ارتباط کا مطلب ہے کشیدگی میں اضافہ، اس لیے ارتباط کا اشارہ الٹ جاتا ہے۔ مرکب دونوں کا اوسط ہے۔
def build_composite(event_name, skew_df, event_prices_df, anchor):
prices = event_prices_df[['spy', 'gld']].copy()
prices['corr'] = prices['spy'].rolling(10).corr(prices['gld'])
def zscore(s):
return (s - s.mean()) / s.std()
skew_z = zscore(skew_df['skew'])
corr_z = zscore(prices['corr'].dropna())
corr_z = corr_z * -1
combined = pd.concat([skew_z.rename('skew_z'), corr_z.rename('corr_z')], axis=1).dropna()
combined['composite'] = combined.mean(axis=1)
combined['stress_flag'] = combined['composite'] > 1.0
return combined
composites = {}
for name, meta in events.items():
anchor = event_windows[name]['anchor']
skew_df = spy_skew[name]
prices_df = event_prices[name]
comp = build_composite(name, skew_df, prices_df, anchor)
composites[name] = comp
print(f"n{meta['label']}")
print(comp.round(3))
حساب کتاب:
Hamas Attack on Israel (Oct 2023)
skew_z corr_z composite stress_flag
date
2023-10-11 -1.003 -1.186 -1.094 False
2023-10-12 0.006 -1.316 -0.655 False
2023-10-13 0.997 -0.971 0.013 False
Yen Carry Unwind + Middle East Escalation (Aug 2024)
skew_z corr_z composite stress_flag
date
2024-07-26 -0.808 -0.863 -0.835 False
2024-07-29 -0.776 -1.074 -0.925 False
2024-07-30 2.343 -0.559 0.892 False
2024-07-31 -1.546 -0.082 -0.814 False
2024-08-01 0.835 0.933 0.884 False
2024-08-02 0.044 2.117 1.081 True
2024-08-05 -0.194 1.977 0.892 False
2024-08-06 0.219 1.525 0.872 False
2024-08-07 -0.138 1.170 0.516 False
2024-08-08 -0.164 0.881 0.358 False
2024-08-09 0.186 0.371 0.278 False
US-China Tariff Shock (Apr 2025)
skew_z corr_z composite stress_flag
date
2025-03-17 0.511 0.516 0.513 False
2025-03-18 0.398 0.493 0.445 False
2025-03-19 0.491 0.154 0.323 False
2025-03-20 0.322 -0.209 0.057 False
2025-03-21 -0.830 -1.023 -0.926 False
2025-03-24 -0.520 -0.999 -0.759 False
2025-03-25 0.035 -0.777 -0.371 False
2025-03-26 -0.556 -0.566 -0.561 False
2025-03-27 -0.787 0.096 -0.346 False
2025-03-28 0.340 1.093 0.716 False
2025-03-31 0.949 1.179 1.064 True
2025-04-01 0.080 1.309 0.694 False
2025-04-02 -2.824 1.190 -0.817 False
2025-04-03 -0.119 1.047 0.464 False
2025-04-04 0.958 0.119 0.539 False
2025-04-07 -1.035 -0.794 -0.915 False
2025-04-08 1.263 -1.274 -0.006 False
تناؤ کے جھنڈے کی حد 1.0 پر سیٹ ہے۔ تینوں واقعات میں دو دن دکھائے گئے ہیں: ین کی قدر میں کمی کے لیے 2 اگست 2024 اور ٹیرف کے جھٹکے کے لیے 31 مارچ 2025۔ دونوں واقعات سے پہلے کے ہیں۔ 7 اکتوبر کا ڈیٹا سیٹ بامعنی جامع ریڈنگ تیار کرنے کے لیے بہت کم ہے۔
ٹیرف جھٹکوں کی 2 اپریل کی قطار قابل توجہ ہے۔ skew_z -2.824 پر، یہ پورے ڈیٹا سیٹ میں سب سے زیادہ منفی اسکیو ریڈنگ کی نمائندگی کرتا ہے، جس کے نتیجے میں باہمی تعلق کے سگنل کے بڑھتے رہنے کے باوجود ایک مرکب منفی قدر پیدا ہوتی ہے۔ 2025 میں سب سے بڑی ایک روزہ SPY کمی کے موقع پر آپشنز مارکیٹ نے بیلوں کو ریچھ کے مقابلے زیادہ فعال طور پر ظاہر کیا۔ یہ اس بات کی علامت نہیں ہے کہ آپ نظر انداز نہیں کر سکتے۔ ہم اس پر واپس آئیں گے۔
خبروں کے جذبات
آخری ڈیٹا لیئر خبروں کا جذبہ ہے۔ EODHD کا Sentiment API مالیاتی خبروں کی کوریج سے اخذ کردہ ہر ٹکر کے لیے روزانہ معمول کے مطابق اسکور تیار کرتا ہے، جس میں -1 (مضبوط طور پر منفی) سے لے کر +1 (مضبوط طور پر مثبت) ہوتا ہے۔ ہم اختیارات کے تجزیہ کے لیے استعمال ہونے والی اسی ونڈو کے لیے SPY کے جذبات کو ایک وسیع مارکیٹ پراکسی کے طور پر استعمال کرتے ہیں۔
def fetch_sentiment(ticker, start, end):
url="https://eodhd.com/api/sentiments"
params = {
's': ticker,
'from': start,
'to': end,
'api_token': api_key,
'fmt': 'json'
}
r = requests.get(url, params=params)
data = r.json()
key = ticker if ticker in data else ticker + '.US'
if key not in data:
return pd.DataFrame()
df = pd.DataFrame(data[key])
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')[['normalized']].rename(columns={'normalized': 'sentiment'})
return df.sort_index()
event_sentiment = {}
for name, meta in events.items():
anchor = event_windows[name]['anchor']
start = (anchor - pd.Timedelta(days=20)).strftime('%Y-%m-%d')
end = (anchor + pd.Timedelta(days=10)).strftime('%Y-%m-%d')
sent_df = fetch_sentiment('SPY', start, end)
event_sentiment[name] = sent_df
print(f"n{meta['label']}")
print(sent_df)
حساب کتاب:
Hamas Attack on Israel (Oct 2023)
sentiment
date
2023-09-25 0.997
2023-09-26 0.986
Yen Carry Unwind + Middle East Escalation (Aug 2024)
sentiment
date
2024-07-17 0.9340
2024-07-22 0.9460
2024-07-23 0.9550
2024-07-25 0.9925
2024-07-26 0.9860
2024-07-29 0.9850
2024-07-30 0.9630
2024-07-31 0.9950
2024-08-02 0.3350
2024-08-05 0.9780
2024-08-06 0.3603
2024-08-15 0.9980
US-China Tariff Shock (Apr 2025)
sentiment
date
2025-03-14 -0.9890
2025-03-15 0.9930
2025-03-17 -0.7010
2025-03-18 0.9990
2025-03-20 -0.8900
2025-03-22 0.9950
2025-03-24 0.9600
2025-03-27 0.9830
2025-03-28 0.9917
2025-04-03 0.9365
2025-04-05 0.0130
2025-04-06 0.9990
2025-04-07 0.9870
2025-04-09 0.5460
2025-04-10 0.8079
2025-04-11 0.0929
2025-04-12 -0.9920
2025-04-13 0.0130
دو چیزیں فوراً سامنے آتی ہیں۔ Encarry Unwind کے معاملے میں، 17 جولائی سے 31 جولائی تک جذبات 0.934 اور 0.995 کے درمیان تھے، اور 30 جولائی کو پہلے ہی سکیو بڑھ چکا تھا اور کمپوزٹ انڈیکس بن رہا تھا۔ جذبات اس دباؤ کی عکاسی نہیں کرتے تھے جو آپشنز مارکیٹ کی قیمتوں کا تعین کر رہی ہے۔ 3 اپریل کو جذبات، جب ٹیرف کے جھٹکے کی وجہ سے SPY 4.8% گر گیا، +0.9365 تھا۔ بہت مثبت۔ خبروں کے چکر کے ساتھ، آپ کو کبھی معلوم نہیں تھا کہ کیا ہونے والا ہے۔
7 اکتوبر کے جذباتی ڈیٹا میں ستمبر کے آخر سے صرف دو ڈیٹا پوائنٹس +1.0 کے قریب ہیں۔ یہ واقعہ سے تقریباً دو ہفتے پہلے ہوتا ہے اور خود اس حملے کے بارے میں مارکیٹ کے جذبات کے بارے میں ہمیں کچھ نہیں بتاتا۔ اس ایونٹ کی کوریج جذباتی تجزیہ میں حصہ لینے کے لیے بہت پتلی ہے۔
واقعہ 1: حماس کا اسرائیل پر حملہ، 7 اکتوبر 2023
7 اکتوبر 2023 کو حماس کا حملہ ایک بڑا جغرافیائی سیاسی جھٹکا تھا۔ مارکیٹ کا ردعمل ایسا نہیں تھا۔
SPY 9 اکتوبر کو 6 اکتوبر کو بند ہونے کے مقابلے میں 0.64 فیصد زیادہ بند ہوا۔ کیونکہ حملہ ہفتہ کو ہوا تھا، حوالہ نقطہ پیر 9 اکتوبر ہے۔ GLD اور TLT دونوں نے ریلی نکالی۔ VIXY نے 3.35% کے T+1 کا اضافہ کیا، جو کہ دیگر دو واقعات کے 20% اعداد و شمار کے مقابلے میں معمولی ہے۔ دو ہفتوں کے اندر، زیادہ تر اثاثے ایونٹ سے پہلے کی سطح پر واپس آ گئے تھے۔
میئر کی تشریح مخصوص تھی۔ یہ محدود براہ راست اقتصادی ترسیل کے ساتھ ایک علاقائی تنازعہ تھا۔ اسرائیل نہ تو تیل فراہم کرنے والا بڑا ملک ہے اور نہ ہی اہم تجارتی پارٹنر ہے، اور نہ ہی وہ عالمی سپلائی چینز میں اس طرح شامل ہے جس سے آمدنی کی توقعات کو دوبارہ درست کیا جائے۔ غیر یقینی صورتحال حقیقی تھی۔ اقتصادی نتائج نہیں تھے.
یہ فرق محفوظ پناہ گاہوں کے رویے میں واضح ہے۔ GLD اور TLT دونوں بڑھ رہے ہیں، UUP فلیٹ ہے اور اسٹاک بنیادی طور پر فلیٹ ہیں۔ جب سونا اور بانڈز ایک ساتھ بڑھتے ہیں جبکہ اسٹاک ہولڈ ہوتا ہے، مارکیٹ حفاظت کے لیے ایک کلاسک پرواز کا اظہار کر رہی ہوتی ہے۔ پیسہ بنیادی قیمت کی اصلاح کے جواب کے بجائے غیر یقینی صورتحال کے خلاف انشورنس کے طور پر دفاعی اثاثوں میں منتقل ہوا۔

اس ایونٹ کے لیے تحریف کا ڈیٹا ایونٹ کے تین دن بعد (11، 12 اور 13 اکتوبر) تک محدود ہے۔ حملے کے بعد کے دنوں میں مسلسل غیر یقینی صورتحال میں مارکیٹ کی قیمتوں کے ساتھ ہم آہنگ، ان تین دنوں میں سکیو مسلسل 0.014 سے 0.054 تک بڑھ گیا۔
تاہم، چونکہ یہ حملہ ایک ہفتے کے آخر میں ہوا تھا اور EODHD کی آپشن کوریج اس عرصے کے دوران کم ہے، اس لیے واقعہ سے پہلے کی تحریف کا کوئی ڈیٹا نہیں ہے۔ یہ معلوم نہیں ہے کہ آیا آپشنز مارکیٹ نے اس ایونٹ کی توقع کی تھی۔

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

قیمت ایڈجسٹمنٹ کی ترتیب ایک فوری کہانی بیان کرتی ہے۔ VIXY 20.52% کی T+1 حرکت کے ساتھ پھٹا۔ TLT 2.24% کے ساتھ دوسرا سب سے بڑا موور تھا اور اسے محفوظ پناہ گاہ کے طور پر بولی لگائی گئی۔ اسٹاک پورے بورڈ میں فروخت ہو گئے۔
لیکویڈیٹی جھٹکا ایسا لگتا ہے۔ جب بینک آف جاپان (BoJ) نے 31 جولائی کو غیر متوقع طور پر شرح سود میں اضافہ کیا تو ین کیری ٹریڈ میں نمایاں طور پر معاہدہ ہوا۔
یہ فروخت معاشی بنیادوں میں تبدیلی کی وجہ سے نہیں ہوئی۔ پوزیشننگ کے ذریعہ کارفرما۔ وہ تاجر جنہوں نے زیادہ پیداوار والے اثاثے خریدنے کے لیے سستا ین ادھار لیا تھا، انہیں اپنے عہدوں کو پورا کرنے کے لیے ان اثاثوں کو بیک وقت بیچنا پڑتا تھا۔ اثاثوں کے درمیان تعلق ٹوٹ گیا کیونکہ سب کچھ ایک ہی میکانکی وجوہات کی بنا پر بیچا گیا تھا۔
اب ایک نظر ڈالیں کہ اس آپریشن سے پہلے مسخ شدہ ڈیٹا نے کیا کیا۔

30 جولائی کو، حادثے سے چھ دن پہلے، سکیو 0.087 تک بڑھ گیا۔ یہ پوری پری ایونٹ ونڈو میں نمایاں مارجن سے سب سے زیادہ پڑھائی ہے۔ اس کے بعد یہ 31 جولائی کو سکڑ گیا اور 1 اور 2 اگست کو دوبارہ طلوع ہوا۔ 5 اگست کو گرا۔
30 جولائی کا اسپائک اس تجزیہ میں سب سے اہم ڈیٹا پوائنٹ ہے۔ BOJ سود کی شرح کا فیصلہ جس نے نرمی کو متحرک کیا تھا 31 جولائی کو کیا گیا تھا۔ آپشنز مارکیٹ نے ٹرگرنگ ایونٹ کے بعد نہیں، پچھلے دن کے اضافے سے نیچے والے خطرے کی قیمت کا تعین کیا۔ خبر کے عام ہونے سے پہلے کوئی، یا شاید بہت سے لوگ، SPY تحفظ کے لیے ادائیگی کر رہے تھے۔
اب ایک نظر ڈالیں کہ آپ نے اسی عرصے کے دوران کیسا محسوس کیا۔

17 جولائی سے 31 جولائی تک، جذبات 0.934 اور 0.995 کے درمیان رہے۔ یہ ہر روز زیادہ سے زیادہ طاقت کے قریب ہے۔ 30 جولائی کو، سکیو 0.087 تک بڑھ گیا، اور جذبات 0.963 تھے۔ خبروں کے چکر میں مجھے کوئی دلچسپی نہیں تھی۔ یہ آپشنز کا بازار تھا۔
جذبات بالآخر 2 اگست کو 0.335 پر گرے، تین دن بعد اور ڈوبنے سے تین دن پہلے۔ اس وقت تک، آپشنز مارکیٹ پہلے ہی تقریباً ایک ہفتے سے تناؤ کے سگنل بھیج رہی تھی۔

جامع رپورٹ میں 2 اگست کو تناؤ کے دن کے طور پر نامزد کیا گیا ہے، جو زیادہ تر ارتباط کے تجزیہ کے اشاروں پر مبنی ہے۔ SPY/GLD رولنگ کا تعلق جولائی کے آخر سے خراب ہو گیا ہے کیونکہ سونا اسٹاک سے دوگنا ہونے لگا ہے۔ کمپوزٹ نے 30 جولائی کے ڈسٹورشن اسپائک کو صاف طور پر گرفت میں نہیں لیا کیونکہ ڈسٹورشن سگنل اگلے دن کمپریس ہو گیا تھا، جس سے زیڈ سکور دوبارہ کم ہو گیا تھا۔ تاہم، 30 جولائی کو تیز ترچھا اور 2 اگست کو جامع اضافہ نے مل کر 5 اگست کے حادثے سے پہلے سطح 2 کی وارننگ فراہم کی۔
ین کیری unwind تھیسس کے اس تجزیے میں سب سے واضح مثال ہے جس میں ساختی مارکیٹ کے اشارے ایسی معلومات فراہم کرتے ہیں جو خبروں کے جذبات نہیں کرتے۔ آپشنز کی مارکیٹ غیر متوقع تھی۔ لیکن یہ کسی ایسی چیز کی قیمت تھی جو سرخیوں میں نہیں تھی۔
واقعہ 3: یو ایس چین ٹیرف کا اثر، اپریل 2025
اپریل 2025 کا ٹیرف جھٹکا اس تجزیے کا سب سے دلچسپ واقعہ ہے۔ اس لیے نہیں کہ سگنل نے کام کیا، بلکہ اس لیے کہ جہاں سگنل فیل ہوا۔

تعداد سنجیدہ ہے۔ SPY T+1 پر 5.85% گر گیا اور T+3 تک گرتا رہا۔ تمام اسٹاک سیکٹرز 4% اور 9% کے درمیان چلے گئے۔ XLE کی قیادت 9.20% کے ساتھ ہوئی، جو توانائی اور تجارت پر منحصر شعبوں کے ٹیرف پالیسی میں براہ راست نمائش کی عکاسی کرتی ہے۔ ITA 8.44% کے ساتھ اس کے بعد رہا۔ ٹیکنالوجی 6.59 فیصد گر گئی۔
یہ اتار چڑھاؤ کی حرکت نہیں ہے۔ وہ اپنی قیمتوں کو ایڈجسٹ کر رہے ہیں اور مارکیٹ اپنے تخمینوں کو ایڈجسٹ کر رہی ہے کہ ساختی طور پر مختلف تجارتی نظاموں کے تحت یہ کمپنیاں درحقیقت کتنی قیمتی ہیں۔
محفوظ پناہ گاہوں کا برتاؤ اس چارٹ کا سب سے زیادہ تشخیصی حصہ ہے۔ T+1 پر GLD میں 2.34% اضافہ ہوا اور اس کے بعد مسلسل اضافہ ہوا۔ TLT کو T+1 پر صرف 1.09% منتقل کرنے کے بعد فروخت کیا گیا۔ بانڈز اور اسٹاک ایک ساتھ گر گئے۔ بانڈز میں کوئی اڑان نہیں تھی۔ واحد صاف اور محفوظ پناہ گاہ سونا تھا۔
یہ وہی چیز ہے جو ساختی جھٹکوں کو دیگر دو قسم کے واقعات سے ممتاز کرتی ہے۔ گولڈ اور بانڈز دونوں اعتماد کے جھٹکے کے درمیان بڑھتے ہیں۔ لیکویڈیٹی جھٹکوں کے درمیان بانڈز مضبوطی سے واپس اچھالتے ہیں۔ ساختی جھٹکوں سے، بانڈز کوئی تحفظ فراہم نہیں کرتے کیونکہ جھٹکا خود مالی اور مالیاتی امکانات پر شک پیدا کرتا ہے۔ سونا بغیر کسی ہم منصب کے واحد اثاثہ بن جاتا ہے۔

یہ وہ جگہ ہے جہاں تجزیہ واقعی بے چین ہو جاتا ہے۔
کریش سے ایک دن پہلے 2 اپریل 2025 کو سکیو -0.023 تھا۔ منفی اے ٹی ایم کالز او ٹی ایم پوٹس سے زیادہ مہنگی تھیں۔ آپشنز مارکیٹ میں کمی کے خطرے کی قیمت نہیں ہے۔ قیمتیں پیچھے کی طرف بڑھ گئی ہیں۔
مارچ کے وسط تک سکیو 0.025 سے 0.042 تک بڑھ گیا اور پھر مارچ کے آخر تک مسلسل سکڑ گیا۔ جب ٹیرف کا اعلان کیا گیا تو، آپشنز مارکیٹ نے خوف کی پوزیشننگ کو فعال طور پر ڈی رسک کیا۔
دو قابل فہم وضاحتیں ہیں۔ پہلا یہ کہ مارکیٹ پورے مارچ میں ٹیرف کے خطرات کو مذاکراتی حربے کے طور پر جانچتی رہی اور پھر اس نتیجے پر پہنچی کہ اپریل کے اوائل میں معاہدہ ہونے کا امکان ہے۔ 2 اپریل کو منفی ترچھا اس اجتماعی اعتماد کی عکاسی کرتا ہے کہ اعلان کردہ ٹیرف پورے بورڈ میں حاصل نہیں ہوں گے۔
دوسرا یہ کہ آپشنز مارکیٹ میں کوئی معلومات نہیں ہیں۔ 2 اپریل کا ٹیرف کا اعلان زیادہ تر شرکاء کی توقع سے زیادہ شدید اور فوری تھا۔
کسی بھی طرح سے، آپشنز مارکیٹ نے ہمیں یہاں ابتدائی انتباہی علامت کے طور پر ناکام کر دیا ہے۔ یہ طریقہ کار میں کوئی خامی نہیں ہے۔ یہ ایک دریافت ہے۔ Skew پیمائش کرتا ہے کہ مارکیٹ کے شرکاء تحفظ کے لیے کتنی رقم ادا کرنے کو تیار ہیں۔ Skew انتباہ نہیں کرتا ہے اگر شرکاء نے اجتماعی طور پر فیصلہ کیا ہے کہ خطرہ قیمت کے قابل نہیں ہے۔ یہ فیصلہ غلط بھی ہو سکتا ہے۔

کمپوزٹ نے 31 مارچ کو، حادثے سے تین دن پہلے، تناؤ کے دن کے طور پر نشان زد کیا۔ سگنل مکمل طور پر ارتباط کے تجزیہ کے جزو سے آیا تھا نہ کہ سکیو جزو سے۔ SPY/GLD رولنگ کا تعلق مارچ کے آخر تک خراب ہوا کیونکہ سونا بڑھ گیا اور اسٹاک کمزور ہوا۔ کمپوزٹ نے اس ڈیکوپلنگ کو پکڑ لیا یہاں تک کہ جب سکیو کمپریسڈ تھا۔
2 اپریل کو، کمپوزٹ انڈیکس -0.817 تک گر گیا۔ سکیو جزو سخت منفی ہو گیا، جو اب بھی بلند ارتباطی سگنل پر غالب آ گیا اور کمپوزٹ کو صفر سے نیچے لے گیا۔ اس جامع نے مؤثر طریقے سے کہا کہ 2025 میں روزانہ کی سب سے بڑی SPY کمی سے پہلے کوئی تناؤ نہیں تھا۔
ٹیرف کے جھٹکے اختیاری قیمتوں کی بنیاد پر کسی بھی سگنل کی عملی حدود کو بے نقاب کرتے ہیں۔ اگر مارکیٹ میں مجموعی طور پر غلط قیمت کا خطرہ ہے، تو سگنل اس غلط قیمت کی عکاسی کرے گا۔ اگرچہ ارتباط کے تجزیہ کے جزو نے یہاں بہتر کارکردگی کا مظاہرہ کیا، لیکن کوئی بھی سگنل قابل اعتماد مرکب نہیں تھا۔
یہ سب ایک ساتھ باندھنا: ہیٹ میپس
انفرادی واقعات کے تجزیے سے تین مختلف کہانیاں سامنے آتی ہیں۔ ہیٹ میپس فرق کو ساتھ ساتھ رکھتے ہیں تاکہ آپ ان سب کو ایک جگہ پر دیکھ سکیں۔
fig = make_subplots(rows=1, cols=3,
subplot_titles=[e['label'] for e in events.values()],
horizontal_spacing=0.08)
for i, (name, meta) in enumerate(events.items()):
window = event_windows[name]['window']
anchor = event_windows[name]['anchor']
anchor_idx = window.index.get_loc(anchor)
start_i = max(anchor_idx - 3, 0)
end_i = min(anchor_idx + 8, len(window))
slice_df = window.iloc[start_i:end_i].copy()
slice_df.columns = [c.upper() for c in slice_df.columns]
anchor_pos = anchor_idx - start_i
anchor_vals = slice_df.iloc[anchor_pos]
pct_df = ((slice_df - anchor_vals) / anchor_vals * 100).round(2)
n_days = len(pct_df)
t_labels = [f'T{d:+d}' for d in range(-anchor_pos, -anchor_pos + n_days)]
fig.add_trace(go.Heatmap(
z=pct_df.values.T,
x=t_labels,
y=list(pct_df.columns),
colorscale="RdYlGn",
zmid=0,
zmin=-15,
zmax=15,
showscale=(i == 2),
colorbar=dict(title="% return from T0")
), row=1, col=i+1)
fig.update_layout(
title="Asset Return Heatmap - T-3 to T+7 across Events",
template="plotly_dark",
height=500
)
for annotation in fig['layout']['annotations']:
annotation['font'] = dict(size=11)
annotation['y'] = 1.02
fig.show()

تین پینل ہیں، ہر ایونٹ کے لیے ایک، ہر ایک T-3 سے T+7 تک ایونٹ کی تاریخوں پر مبنی واپسی دکھاتا ہے۔ سبز کا مطلب ہے T0 کے مقابلے میں حاصل کردہ اثاثے۔ سرخ کا مطلب ہے آپ ہار گئے۔ رنگ کا پیمانہ پلس یا مائنس 15% تک محدود ہے، لہذا ٹیرف کے اثرات میں انتہائی اقدام 7 اکتوبر کو چھوٹی حرکتوں کو ختم نہیں کریں گے۔
VIXY قطاریں ایونٹ کے لحاظ سے مختلف کہانیاں سناتی ہیں۔ ایونٹ کے بعد گرین انڈیکس میں اضافہ ہوا، جس میں حماس کے حملے اور ٹیرف کے جھٹکے سے اتار چڑھاؤ T0 کی سطح سے بڑھ گیا۔ Encarry Unwind میں، قطاریں گہرے سرخ رنگ کی ہوتی ہیں۔ یہ اس لیے نہیں ہے کہ اتار چڑھاؤ میں اضافہ نہیں ہوا ہے، بلکہ اس لیے کہ VIXY پہلے ہی 5 اگست کی اینکر تاریخ پر پہنچ چکا تھا، جس سے T0 سے متعلق ہر چیز فلیٹ یا منفی نظر آتی ہے۔
GLD قطار پر ایک نظر ڈالیں۔ حماس کے حملے میں، محفوظ پناہ گاہوں کا کم سے کم ردعمل غیر جانبداری کے قریب رہتا ہے۔ Encarry Unwind ایونٹ کے بعد سبز ہو جاتا ہے کیونکہ جبری فروخت ختم ہو جاتی ہے اور سونا بحال ہو جاتا ہے۔ ٹیرف کے جھٹکے میں، اثاثہ سبز ہو جاتا ہے اور وہی رہتا ہے، جو تینوں واقعات میں سب سے مضبوط اور مسلسل حرکت ہے۔
TLT قطار تیز ترین تضاد کو ظاہر کرتی ہے۔ یہ حماس کے حملے پر قریب قریب غیر جانبدار ہے، ین بانڈز کے مضبوط ہونے پر آرام کرتا ہے، اور یہ ٹیرف کے جھٹکے پر قریب سے غیر جانبدار سے قدرے منفی پر جاتا ہے۔ بانڈز ایک معاملے میں ایک قابل اعتماد محفوظ پناہ گاہ تھے، لیکن دوسرے دو معاملات میں تقریباً کچھ بھی پیش نہیں کرتے تھے۔
اسٹاک کی قطاریں پیمانے کے بارے میں ایک کہانی سناتی ہیں۔ حماس کے حملوں میں رنگ پیلے ہوتے ہیں اور دونوں سمتوں میں چھوٹی حرکت ہوتی ہے۔ Encarry Unwind میں، سبز پر واپس آنے سے پہلے یہ معتدل سرخ ہوتا ہے۔ ٹیرف شاکس T0 سے T+3 تک تمام سیکٹرز میں گہرے سرخ رنگ کے ہوتے ہیں۔ یہ یکساں فروخت کی ایک قسم ہے جو اس وقت ہوتی ہے جب مارکیٹ صرف قیمتوں کے خوف کے بجائے بنیادی باتوں کو دوبارہ قیمت دیتی ہے۔
یہ ڈیٹا کی اقسام کی درجہ بندی ہے۔ تین ایونٹس، تین فنگر پرنٹس، تین مختلف مارکیٹس سبھی ایک ہی لیبل کے ساتھ تین مختلف گذارشات کا جواب دیتے ہیں۔
حتمی خیالات
اس تجزیے کے تینوں واقعات کا ایک ہی لیبل ہے۔ لیکن اعداد و شمار نے انہیں تین مختلف نتائج دیے۔
اعتماد کے جھٹکے معاشیات کو نہیں مارتے، وہ خوف کو مارتے ہیں۔ سونا اور بانڈز بڑھ رہے ہیں، اسٹاک ہولڈ ہو رہے ہیں، اور ریکوری آپ کے خیال سے زیادہ تیز ہے۔
لیکویڈیٹی جھٹکے مکینیکل ہوتے ہیں۔ ہر چیز فروخت ہو جاتی ہے کیونکہ پوزیشننگ بے نقاب ہو رہی ہے، اس لیے نہیں کہ بنیادی اصول بدل گئے ہیں۔
ساختی جھٹکے مختلف اقتصادی نظاموں کے تحت کمپنیوں کی حقیقی قدر کا دوبارہ جائزہ لیتے ہیں۔ بانڈز کوئی تحفظ فراہم نہیں کرتے۔ سونا واحد صاف ہیج ہے۔ بحالی کی ٹائم لائن نامعلوم ہے۔
EODHD کے تاریخی اور اختیارات کے ڈیٹا کا استعمال کرتے ہوئے یہاں بنایا گیا IV skew and corelation composite واضح طور پر ایک ایونٹ کے لیے کام کیا، جزوی طور پر دوسرے کے لیے کام کیا، لیکن تیسرے کے لیے ناکام رہا۔ یہ سگنل کو نظر انداز کرنے کی کوئی وجہ نہیں ہے۔ اس لیے وہ سمجھتے ہیں کہ وہ کیا پیمائش کرتے ہیں۔ کمی اس بات کی عکاسی کرتی ہے کہ شرکاء منفی تحفظ کے لیے کتنی ادائیگی کرتے ہیں۔ جب مارکیٹ اجتماعی طور پر یہ فیصلہ کرتی ہے کہ خطرے کی قیمت کا تعین کرنے کے قابل نہیں ہے، تو بے ترتیبی خاموش ہو جاتی ہے۔ یہ خاموشی سلامتی نہیں ہے۔
اس فریم ورک کا سب سے مفید آؤٹ پٹ سگنل نہیں ہے۔ میرا ایک سوال ہے۔ یہ کیسا صدمہ ہے؟ جواب اس کے بعد آنے والی ہر چیز کو بدل دیتا ہے۔