অন্যরা যখন ভীত তখন কেন কিনবেন: ডেটা বিশ্লেষণ
Warren Buffett-এর নীতি অনুযায়ী বাজারের ভীতি পরিমাপ করে আমরা পরীক্ষা করেছি যে ভীতিপ্রবণ দিনগুলোতে বিনিয়োগ করলে কি বাজারের চেয়ে বেশি রিটার্ন পাওয়া সম্ভব।
Warren Buffett-এর সবচেয়ে বেশি উদ্ধৃত নীতি হলো অন্যদের লোভী হওয়ার সময় ভীত হওয়া এবং অন্যরা ভীত হওয়ার সময় লোভী হওয়া। এটি একটি প্রতিষ্ঠিত প্রবাদ হিসেবে পরিচিত। তাত্ত্বিকভাবে এটি একটি যাচাইযোগ্য দাবি: যদি বাজারের সামগ্রিক মেজাজ পরিমাপ করা সম্ভব হয়, তবে সবচেয়ে ভীতিপ্রবণ এবং সবচেয়ে লোভী মুহূর্তগুলোর পরবর্তী রিটার্নগুলো সাজিয়ে তুলনা করা সম্ভব। এই পৃষ্ঠাটি লক্ষ লক্ষ সংবাদ নিবন্ধের সেন্টিমেন্ট বা মনোভাবের ওপর ভিত্তি করে তৈরি একটি fear-and-greed gauge ব্যবহার করে সেই পরীক্ষাটি চালায়।
সংবাদ থেকে একটি fear gauge তৈরি করা
আমাদের নিউজ টেপে থাকা প্রতিটি নিবন্ধের সাথে নিবন্ধটি প্রকাশের সময় একটি কোম্পানি-ভিত্তিক সেন্টিমেন্ট ট্যাগ যুক্ত করা হয়, যা পজিটিভ, নেগেটিভ বা নিউট্রাল হতে পারে। প্রতিদিন পুরো বাজারের এই ট্যাগগুলো গণনা করলে সংবাদকে একটি দৈনিক মেজাজ হিসেবে পড়া সম্ভব হয়। এখানে একদিনের নেট সেন্টিমেন্ট হলো পজিটিভ কাউন্ট থেকে নেগেটিভ কাউন্ট বিয়োগ করে মোট কাউন্টের অনুপাত। রেঞ্জের উপরের দিকের মান একটি আশাবাদী বা লোভী বাজার নির্দেশ করে, আর নিচের দিকের মান বাজারের ভয়ের কাছাকাছি অবস্থা নির্দেশ করে।
রিটার্নের আগে দুটি সীমাবদ্ধতা স্বীকার করা প্রয়োজন। সেন্টিমেন্ট ট্যাগগুলো শুধুমাত্র ২০২৪ সাল থেকে বিদ্যমান, তাই পরিমাপযোগ্য সময়সীমা প্রায় আড়াই বছর, যা একটি পূর্ণাঙ্গ মার্কেট সাইকেল নয়। এছাড়া এই ট্যাগগুলো আশাবাদী বা পজিটিভ দিকে বেশি ঝুঁকে থাকে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT toString(toYear(published_utc)) AS year, count() AS tagged_insights,
round(100.0 * countIf(JSONExtractString(ins,'sentiment')='negative') / count(), 1) AS negative_pct
FROM global_markets.stocks_news ARRAY JOIN insights AS ins
WHERE JSONExtractString(ins,'sentiment') != ''
GROUP BY year ORDER BY yearসাম্প্রতিক বছরে নেতিবাচক নিবন্ধের সংখ্যা ট্যাগ করা মোট নিবন্ধের 19.1% এর কাছাকাছি ছিল এবং এই ধারাটি পুরো সময়জুড়ে বজায় রয়েছে। এই নমুনায় একটি ভীতিপ্রবণ দিন মানে হলো সবচেয়ে কম আশাবাদী বাজার, এটি সরাসরি আতঙ্কিত হওয়ার দিন নয়। এটি হলো কাঁচামাল। পরীক্ষাটি হলো এর পরে বাজার কী করেছিল।
পরীক্ষা: ভীতি ও লোভের পরে কী ঘটেছিল
প্রতিটি মেজাজ বা mood reading যুক্ত দিনের জন্য, পরবর্তী ৫, ২০ এবং ৬০ ট্রেডিং দিনের S&P 500-এর রিটার্ন পরিমাপ করা হয়েছে। এরপর দিনগুলোকে সবচেয়ে ভীতিপ্রবণ দশমাংশ, সবচেয়ে লোভী দশমাংশ এবং এর মধ্যবর্তী দিনগুলোতে ভাগ করা হয়েছে এবং প্রতিটি গ্রুপের গড় ফরওয়ার্ড রিটার্ন বের করা হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH sent AS (
SELECT toDate(published_utc) AS d,
(countIf(s='positive') - countIf(s='negative')) / (countIf(s='positive') + countIf(s='negative')) AS net
FROM (SELECT published_utc, JSONExtractString(ins,'sentiment') AS s
FROM global_markets.stocks_news ARRAY JOIN insights AS ins
WHERE JSONExtractString(ins,'sentiment') != '')
GROUP BY d HAVING countIf(s='positive') + countIf(s='negative') >= 20
),
spyd AS (
SELECT toDate(toTimeZone(window_start,'America/New_York')) AS d,
argMax(toFloat64(close), toTimeZone(window_start,'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker='SPY' AND window_start >= '2024-01-01'
AND (toHour(toTimeZone(window_start,'America/New_York'))*60 + toMinute(toTimeZone(window_start,'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
spy AS (
SELECT d, c, leadInFrame(c,5) OVER w AS c5, leadInFrame(c,20) OVER w AS c20, leadInFrame(c,60) OVER w AS c60
FROM spyd WINDOW w AS (ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 60 FOLLOWING)
),
j AS (
SELECT s.net AS net, (spy.c5/spy.c-1)*100 AS f5, (spy.c20/spy.c-1)*100 AS f20, (spy.c60/spy.c-1)*100 AS f60
FROM sent s INNER JOIN spy ON s.d = spy.d WHERE spy.c60 > 0
),
qt AS (SELECT quantile(0.1)(net) AS p10, quantile(0.9)(net) AS p90 FROM j)
SELECT multiIf(net <= (SELECT p10 FROM qt), 'Extreme fear (least upbeat)',
net >= (SELECT p90 FROM qt), 'Extreme greed (most upbeat)',
'In between') AS market_mood,
count() AS days,
round(avg(f5),2) AS fwd_5d_pct,
round(avg(f20),2) AS fwd_20d_pct,
round(avg(f60),2) AS fwd_60d_pct
FROM j GROUP BY market_mood
ORDER BY multiIf(market_mood='Extreme fear (least upbeat)',0, market_mood='In between',1, 2)পরবর্তী দুই মাসে, লোভী দিনগুলোর তুলনায় ভীতিপ্রবণ দিনগুলো অনেক আগেই এসেছিল। চরম ভীতিপ্রবণ অবস্থার পরে ৬০ ট্রেডিং দিনে S&P 500 গড় 6.35% রিটার্ন দিয়েছে, যেখানে চরম লোভী অবস্থার পরে এটি ছিল 2.85%, এবং এর মধ্যবর্তী সাধারণ দিনগুলোতে ছিল 4.03%। এই র্যাঙ্কিংটি প্রবাদটির সাথে মিলে যায়: ভীতিপ্রবণ বাজার ছিল বিনিয়োগের জন্য ভালো সুযোগ, আর লোভী বাজার ছিল খারাপ সুযোগ।
খুব কাছ থেকে দেখলে চিত্রটি অস্পষ্ট হয়ে যায়। পরবর্তী পাঁচ দিনে ভীতিপ্রবণ এবং লোভী গ্রুপ দুটির মধ্যে পার্থক্য মাত্র এক শতাংশের ভগ্নাংশ। বিশ দিন পর লোভী গ্রুপটি সামান্য এগিয়ে যায়। এই পার্থক্য কেবল দুই মাস পরে স্পষ্ট হয়। প্রতিটি চরম গ্রুপে মাত্র 45 দিন রয়েছে এবং অল্প কিছু ঘটনার কারণে গড়টি নির্ধারিত হয়।
কেন এটি একটি সংকেত, চূড়ান্ত রায় নয়
তিনটি কারণে এই ফলাফলটি চূড়ান্ত প্রমাণ হিসেবে গণ্য করা যায় না।
সময়সীমাটি একটি ক্রমবর্ধমান বাজারের (rising market)। প্রতিটি গ্রুপই পজিটিভ ৬০-দিনের রিটার্ন দিয়েছে, এবং এই তুলনাটি একটি ভালো ফলাফলের সাথে আরও ভালো ফলাফলের তুলনা করছে, কোনো লাভ বা ক্ষতির তুলনা নয়। বাজারের শীর্ষে লোভ থেকে বাঁচার জন্য তৈরি করা একটি নিয়মের বিপরীতে এখানে পরীক্ষা করার মতো কোনো শীর্ষবিন্দু নেই।
ভীতিপ্রবণ দিনগুলো সাধারণত বাজারের পতনের পরে আসে, যখন নেতিবাচক সংবাদ বৃদ্ধি পায়। সেই পয়েন্টগুলো থেকে বাজার ঘুরে দাঁড়ানো (bounce) সাধারণ mean reversion-এর কারণে হতে পারে, যা সেন্টিমেন্টের কোনো পূর্বাভাস নয়। এই দুটি বিষয় আলাদা করতে কেবল কিছু নির্দিষ্ট তারিখের প্রয়োজন নেই।
এবং নমুনার আকার খুবই ছোট। আড়াই বছর এবং প্রতিটি চরম অবস্থায় মাত্র 45 দিন থাকা যেকোনো যুগের যেকোনো বাজারের জন্য একটি দাবি করার মতো পর্যাপ্ত ভিত্তি নয়। ২০২৪ থেকে ২০২৬ পর্যন্ত একটি নির্দিষ্ট সময়কাল হলো একটি নমুনা মাত্র, সমগ্র জনসংখ্যা নয়।
এই অনুশীলনটি যা নিশ্চিত করে তা প্রবাদটির চেয়ে ছোট কিন্তু বেশি কার্যকর: দাবিটি পরিমাপযোগ্য। একটি লাইন যা সাধারণত উদ্ধৃতি হিসেবে ব্যবহৃত হয়, তাকে সংখ্যায় রূপান্তর করা সম্ভব, ডেটার বিপরীতে যাচাই করা সম্ভব এবং সেন্টিমেন্ট রেকর্ড বাড়ার সাথে সাথে পুনরায় পরীক্ষা করা সম্ভব। আপাতত এর দিকনির্দেশনা Buffett-এর মতের অনুসারী।
FAQ
অন্যরা ভীত হওয়ার সময় কেনা কি আসলেই কাজ করে?
এই ২০২৪-২০২৬ সালের নমুনা অনুযায়ী, সবচেয়ে ভীতিপ্রবণ দিনগুলোর পরে সবচেয়ে লোভী দিনগুলোর তুলনায় S&P 500-এর গড় ৬০-দিনের রিটার্ন (6.35%) বেশি ছিল (2.85%)। স্বল্পমেয়াদী সময়ের ক্ষেত্রে এই ব্যবধান প্রায় কমে যায় এবং নমুনার আকার ছোট; তাই এটি প্রমাণের চেয়ে একটি দিকনির্দেশনা হিসেবে কাজ করে।
fear-and-greed gauge কীভাবে তৈরি করা হয়?
আমাদের নিউজ ফিডের প্রতিটি নিবন্ধের সেন্টিমেন্ট ট্যাগ থেকে: প্রতিদিনের পজিটিভ নিবন্ধের সংখ্যা থেকে নেগেটিভ নিবন্ধের সংখ্যা বিয়োগ করে তাদের মোট নিবন্ধের অনুপাত বের করা হয়। কম মান মানে নেতিবাচক বাজার, আর উচ্চ মান মানে আশাবাদী বাজার।
পরীক্ষাটি কেন ২০২৪ থেকে শুরু করা হয়েছে?
নিউজ ফিডের সেন্টিমেন্ট ট্যাগগুলো ২০২৪ থেকে শুরু হয়েছে, যার ফলে পরিমাপযোগ্য সময়সীমা প্রায় আড়াই বছর।
এটি কি বিনিয়োগ পরামর্শ?
না। এটি অতীতের ডেটার একটি পরিমাপ যেখানে সীমাবদ্ধতাগুলো উল্লেখ করা হয়েছে; এটি কোনো কৌশল বা পূর্বাভাস নয়। এর সময়সীমা ছোট, ট্যাগগুলো পজিটিভ দিকে ঝুঁকে আছে, বাজার ক্রমবর্ধমান এবং mean reversion হওয়ার সম্ভাবনা রয়েছে।
এখানে প্রতিটি সংখ্যা এর নিচের সংরক্ষিত কুয়েরি থেকে নেওয়া হয়েছে। সেন্টিমেন্ট কাউন্ট এবং ফরওয়ার্ড রিটার্ন যাচাই করতে যেকোনো প্যানেল বড় করুন, অথবা Strasmore টার্মিনালে নিজেই একই পরীক্ষা চালান। বাজারের উদ্বেগ সম্পর্কে সম্পর্কিত তথ্যের জন্য implied volatility দেখুন; অথবা রেকর্ডে থাকা প্রকৃত ভয়ের ঘটনার জন্য the COVID crash of March 2020 দেখুন।