পূর্ববর্তী নিবন্ধগুলিতে, আমরা ডিজিটাল মুদ্রা বাজারে একটি সাধারণ ঘটনা নিয়ে আলোচনা করেছিঃ বেশিরভাগ ডিজিটাল মুদ্রা, বিশেষত বিটকয়েন এবং ইথেরিয়ামের দামের ওঠানামা অনুসরণকারীগুলি প্রায়শই একসাথে উত্থান এবং পতনের প্রবণতা দেখায়। এই ঘটনাটি মূলধারার মুদ্রার সাথে তাদের উচ্চ সম্পর্ক প্রকাশ করে। তবে, বিভিন্ন ডিজিটাল মুদ্রার মধ্যে সম্পর্কের ডিগ্রিও পরিবর্তিত হয়। সুতরাং সম্পর্কের এই পার্থক্যটি প্রতিটি মুদ্রার বাজারের পারফরম্যান্সকে কীভাবে প্রভাবিত করে? এই নিবন্ধে, আমরা এই সমস্যাটি অন্বেষণের জন্য উদাহরণ হিসাবে 2023 সালের দ্বিতীয়ার্ধে ষাঁড়ের বাজারটি ব্যবহার করব।
ডিজিটাল মুদ্রা বাজারটি তার অস্থিরতা এবং অনিশ্চয়তার জন্য পরিচিত। বিটকয়েন এবং ইথেরিয়াম, বাজারের দুটি জায়ান্ট হিসাবে, প্রায়শই দামের প্রবণতায় নেতৃস্থানীয় ভূমিকা পালন করে। বেশিরভাগ ছোট বা উদীয়মান ডিজিটাল মুদ্রা, বাজারের প্রতিযোগিতামূলকতা এবং ট্রেডিং ক্রিয়াকলাপ বজায় রাখার জন্য, প্রায়শই এই মূলধারার মুদ্রাগুলির সাথে একটি নির্দিষ্ট ডিগ্রি মূল্য সিঙ্ক্রোনাইজেশন রাখে, বিশেষত প্রকল্পের পক্ষগুলি দ্বারা তৈরি মুদ্রাগুলি। এই সিঙ্ক্রোনাইজেশন বাজারের অংশগ্রহণকারীদের মানসিক প্রত্যাশা এবং ট্রেডিং কৌশলগুলি প্রতিফলিত করে, যা পরিমাণগত ট্রেডিং কৌশল ডিজাইনের ক্ষেত্রে গুরুত্বপূর্ণ বিবেচ্য বিষয়।
পরিমাণগত ব্যবসায়ের ক্ষেত্রে, সম্পর্ক পরিমাপ পরিসংখ্যানগত পদ্ধতির মাধ্যমে অর্জন করা হয়। সর্বাধিক ব্যবহৃত পরিমাপ হল পিয়ারসন সম্পর্কীয় সহগ, যা দুটি ভেরিয়েবলের মধ্যে রৈখিক সম্পর্কের ডিগ্রি পরিমাপ করে। এখানে কিছু মূল ধারণা এবং গণনার পদ্ধতি রয়েছেঃ
পিয়ারসন ক্যারেলেশন কোয়ালিফাইন্টের পরিসীমা (আর হিসাবে চিহ্নিত) -1 থেকে +1 পর্যন্ত, যেখানে +1 একটি নিখুঁত ইতিবাচক ক্যারেলেশন নির্দেশ করে, -1 একটি নিখুঁত নেতিবাচক ক্যারেলেশন নির্দেশ করে এবং 0 কোন রৈখিক সম্পর্ক নির্দেশ করে। এই কোয়ালিফাইন্ট গণনার সূত্রটি নিম্নরূপঃ
তাদের মধ্যে,এবংদুটি র্যান্ডম ভেরিয়েবলের পর্যবেক্ষণ করা মান,এবংএই দুটি র্যান্ডম ভেরিয়েবলের গড় মান। পাইথন সায়েন্টিফিক কম্পিউটিং সম্পর্কিত প্যাকেজ ব্যবহার করে, এটি সহজে সম্পর্ক গণনা করতে পারে।
এই নিবন্ধটি বাইনারেন্স থেকে ২০২৩ সালের পুরো বছরের জন্য ৪ ঘন্টা কে-লাইন ডেটা সংগ্রহ করেছে, ১৪৪ টি মুদ্রা নির্বাচন করেছে যা ১ জানুয়ারি তালিকাভুক্ত ছিল। ডেটা ডাউনলোড করার জন্য নির্দিষ্ট কোডটি নিম্নরূপঃ
import requests
from datetime import date,datetime
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
ticker = requests.get('https://fapi.binance.com/fapi/v1/ticker/24hr')
ticker = ticker.json()
sort_symbols = [k['symbol'][:-4] for k in sorted(ticker, key=lambda x :-float(x['quoteVolume'])) if k['symbol'][-4:] == 'USDT']
def GetKlines(symbol='BTCUSDT',start='2020-8-10',end='2023-8-10',period='1h',base='fapi',v = 'v1'):
Klines = []
start_time = int(time.mktime(datetime.strptime(start, "%Y-%m-%d").timetuple()))*1000 + 8*60*60*1000
end_time = min(int(time.mktime(datetime.strptime(end, "%Y-%m-%d").timetuple()))*1000 + 8*60*60*1000,time.time()*1000)
intervel_map = {'m':60*1000,'h':60*60*1000,'d':24*60*60*1000}
while start_time < end_time:
time.sleep(0.5)
mid_time = start_time+1000*int(period[:-1])*intervel_map[period[-1]]
url = 'https://'+base+'.binance.com/'+base+'/'+v+'/klines?symbol=%s&interval=%s&startTime=%s&endTime=%s&limit=1000'%(symbol,period,start_time,mid_time)
res = requests.get(url)
res_list = res.json()
if type(res_list) == list and len(res_list) > 0:
start_time = res_list[-1][0]+int(period[:-1])*intervel_map[period[-1]]
Klines += res_list
if type(res_list) == list and len(res_list) == 0:
start_time = start_time+1000*int(period[:-1])*intervel_map[period[-1]]
if mid_time >= end_time:
break
df = pd.DataFrame(Klines,columns=['time','open','high','low','close','amount','end_time','volume','count','buy_amount','buy_volume','null']).astype('float')
df.index = pd.to_datetime(df.time,unit='ms')
return df
start_date = '2023-01-01'
end_date = '2023-11-16'
period = '4h'
df_dict = {}
for symbol in sort_symbols:
print(symbol)
df_s = GetKlines(symbol=symbol+'USDT',start=start_date,end=end_date,period=period)
if not df_s.empty:
df_dict[symbol] = df_s
df_close = pd.DataFrame(index=pd.date_range(start=start_date, end=end_date, freq=period),columns=df_dict.keys())
for symbol in symbols:
df_s = df_dict[symbol]
df_close[symbol] = df_s.close
df_close = df_close.dropna(how='any',axis=1)
প্রথমত, আমরা গড় দামের ওঠানামা সূচকটি গণনা করি। এটি দেখা যায় যে ২০২৩ সালে দুটি বাজারের প্রবণতা রয়েছে। একটি হল বছরের শুরুতে উল্লেখযোগ্য বৃদ্ধি, এবং অন্যটি অক্টোবর থেকে শুরু হওয়া একটি বড় বৃদ্ধি। বর্তমানে, এটি মূলত সূচকের দিক থেকে একটি উচ্চ পর্যায়ে রয়েছে।
df_norm = df_close/df_close.fillna(method='bfill').iloc[0] #Normalization
total_index = df_norm.mean(axis=1)
total_index.plot(figsize=(15,6),grid=True);
পান্ডা একটি অন্তর্নির্মিত সম্পর্ক গণনার সাথে আসে। বিটিসির দামের সাথে সবচেয়ে দুর্বল সম্পর্ক নিম্নলিখিত চিত্রটিতে দেখানো হয়েছে। বেশিরভাগ মুদ্রার একটি ইতিবাচক সম্পর্ক রয়েছে, যার অর্থ তারা বিটিসির দাম অনুসরণ করে। তবে কিছু মুদ্রার একটি নেতিবাচক সম্পর্ক রয়েছে, যা ডিজিটাল মুদ্রা বাজারের প্রবণতাগুলিতে একটি অস্বাভাবিকতা হিসাবে বিবেচিত হয়।
corr_symbols = df_norm.corrwith(df_norm.BTC).sort_values().index
এখানে, মুদ্রাগুলিকে দুটি দলে বিভক্ত করা হয়েছে। প্রথম গোষ্ঠীতে 40 টি মুদ্রা রয়েছে যা বিটিসির দামের সাথে সর্বাধিক সম্পর্কিত, এবং দ্বিতীয় গোষ্ঠীতে বিটিসির দামের সাথে কম সম্পর্কিত অন্তর্ভুক্ত রয়েছে। প্রথমটির থেকে দ্বিতীয় গ্রুপের সূচক বিয়োগ করে, এটি প্রথম গ্রুপে লম্বা হওয়ার প্রতিনিধিত্ব করে এবং দ্বিতীয়টিকে শর্ট করে। এইভাবে আমরা মূল্যের ওঠানামা এবং বিটিসির সম্পর্ক গণনা করতে পারি। ফলাফলগুলির সাথে আপনি এটি কীভাবে করবেন তা এখানেঃ
(df_norm[corr_symbols[-40:]].mean(axis=1)-df_norm[corr_symbols[:40]].mean(axis=1)).plot(figsize=(15,6),grid=True);
ফলাফলগুলি দেখায় যে বিটিসির দামের সাথে শক্তিশালী সম্পর্কযুক্ত মুদ্রাগুলির ভাল বৃদ্ধি রয়েছে এবং কম সম্পর্কযুক্ত মুদ্রাগুলিকে শর্ট করাও একটি ভাল হেজিং ভূমিকা পালন করেছে। এখানে অস্পষ্টতা হ'ল সম্পর্কটি গণনা করার সময় ভবিষ্যতের ডেটা ব্যবহার করা হয়েছিল। নীচে, আমরা ডেটা দুটি গ্রুপে বিভক্ত করিঃ একটি গ্রুপ সম্পর্ক গণনা করে এবং অন্যটি হেজিংয়ের পরে রিটার্ন গণনা করে। ফলাফলটি নিম্নলিখিত চিত্রটিতে দেখানো হয়েছে এবং উপসংহারটি অপরিবর্তিত রয়েছে।
বিটকয়েন এবং ইথেরিয়াম বাজারের নেতা হিসাবে প্রায়শই সামগ্রিক বাজারের প্রবণতাগুলিতে বিশাল প্রভাব ফেলে। যখন এই ক্রিপ্টোকারেন্সিগুলির দাম বৃদ্ধি পায়, তখন বাজারের আবেগ সাধারণত আশাবাদী হয়ে ওঠে এবং অনেক বিনিয়োগকারী এই প্রবণতা অনুসরণ করে। বিনিয়োগকারীরা এটিকে সামগ্রিক বাজারের বৃদ্ধির সংকেত হিসাবে দেখতে পারে এবং অন্যান্য মুদ্রা কিনতে শুরু করতে পারে। বাজারের অংশগ্রহণকারীদের সম্মিলিত আচরণের কারণে, মূলধারার সাথে অত্যন্ত সম্পর্কিত মুদ্রাগুলি অনুরূপ মূল্যবৃদ্ধির অভিজ্ঞতা অর্জন করতে পারে। এ জাতীয় সময়ে, দামের প্রবণতা সম্পর্কে প্রত্যাশা কখনও কখনও স্ব-পূরণকারী ভবিষ্যদ্বাণী হয়ে উঠতে পারে। বিপরীতে, বিটকয়েনের সাথে নেতিবাচকভাবে সম্পর্কিত মুদ্রাগুলি অনন্য; তাদের মৌলিকগুলি অবনতি হতে পারে বা তারা আর মূলধারার দৃষ্টিভঙ্গির মধ্যে থাকতে পারে না - এমনকি বিটকয়েনের রক্ত চুষার পরিস্থিতিও থাকতে পারে যেখানে বিনিয়োগকারীরা তাদের বাজারগুলিকে তাদের উত্থিত দামের সাথে তাল মিলিয়ে রাখতে সক্ষম হওয়ার জন্য ত্যাগ করতে পারে।
corr_symbols = (df_norm.iloc[:1500].corrwith(df_norm.BTC.iloc[:1500])-df_norm.iloc[:1500].corrwith(total_index[:1500])).sort_values().index
এই নিবন্ধটি পার্সন ক্যারলেশন সহগ সম্পর্কে আলোচনা করে, বিভিন্ন মুদ্রার মধ্যে ক্যারলেশন ডিগ্রী প্রকাশ করে। নিবন্ধটি মুদ্রার মধ্যে ক্যারলেশন গণনা করার জন্য ডেটা কীভাবে পাওয়া যায় এবং বাজারের প্রবণতা মূল্যায়নের জন্য এই ডেটা ব্যবহার করে তা প্রদর্শন করে। এটি প্রকাশ করে যে ডিজিটাল মুদ্রা বাজারে দামের ওঠানামা কেবলমাত্র বাজারের মনোবিজ্ঞান এবং কৌশলকেই প্রতিফলিত করে না, তবে বৈজ্ঞানিক পদ্ধতির মাধ্যমে পরিমাপ এবং পূর্বাভাসও দেওয়া যেতে পারে। এটি পরিমাণগত ট্রেডিং কৌশল ডিজাইনের জন্য বিশেষভাবে গুরুত্বপূর্ণ।
এই নিবন্ধের ধারণাগুলির অনেকগুলি ক্ষেত্র রয়েছে যেখানে এটি প্রসারিত করা যেতে পারে, যেমন রোলিং কো-রেলেশন গণনা করা, উত্থান এবং পতনের সময় পৃথকভাবে কো-রেলেশন গণনা করা ইত্যাদি, যা অনেক দরকারী তথ্য প্রদান করতে পারে।