تجزیه و تحلیل cryptocurrency با پایتون - بازگشت به سیستم

ساخت وبلاگ

در پست قبلی ، ما تغییرات قیمت خام ارزهای رمزپایه را مورد تجزیه و تحلیل قرار دادیم. مشکل این رویکرد این است که قیمت های ارزهای مختلف رمزنگاری عادی نمی شوند و ما نمی توانیم از معیارهای قابل مقایسه استفاده کنیم.

در این پست ، ما مزایای استفاده از بازده ورود به سیستم برای تجزیه و تحلیل تغییرات قیمت را شرح می دهیم. می توانید این نوت بوک Jupyter و داده ها را بارگیری کنید.

در صورت از دست دادن مقاله های دیگر من در مورد این موضوع:

تجزیه و تحلیل بازار سهام در پایتون

لیستی از مقالاتی که من در مورد بازار سهام و تجزیه و تحلیل cryptocurrency در پایتون نوشتم.

در اینجا چند پیوند وجود دارد که ممکن است مورد علاقه شما باشد:

- برچسب زدن و مهندسی داده برای هوش مصنوعی و تجزیه و تحلیل- علوم داده برای رهبران تجارت [دوره]- مقدمه یادگیری ماشین با Pytorch [Course]- تبدیل به یک مدیر محصول رشد [دوره]- یادگیری عمیق (محاسبات تطبیقی و سری ML) [کتاب الکترونیکی]- تست های مهارت رایگان برای دانشمندان داده و مهندسان یادگیری ماشین

برخی از پیوندهای فوق پیوندهای وابسته هستند و اگر برای خرید از آنها عبور کنید ، من یک کمیسیون کسب می کنم. به خاطر داشته باشید که من دوره ها را به دلیل کیفیت آنها پیوند می دهم و نه به دلیل کمیسیون که از خریدهای شما دریافت می کنم.

الزامات

  • Scipy - ابزارهای علمی و عددی برای پایتون

برای سایر الزامات ، اولین پست وبلاگ من از این سری را ببینید.

بارگیری داده ها

واردات پاندابه عنوان PDdf_btc= PDبشرread_csv ('btc_usd_coinbase_hour_2017-12-24. csv' ، index_col= 'DateTime')df_eth= PDبشرread_csv ('eth_usd_coinbase_hour_2017-12-24. csv' ، index_col= 'DateTime')df_ltc= PDبشرread_csv ('ltc_usd_coinbase_hour_2017-12-24. csv' ، index_col= 'DateTime')DF= PDبشرdataframe (. نزدیک ،'eth': df_ethبشربستن،'LTC': df_ltc. close>)dfبشرفهرست مطالب= DFبشرفهرست مطالببشرنقشه (PDبشرto_datetime)DF= DFبشرsort_index ()dfبشرسر()

فواید استفاده از بازده ، در مقابل قیمت ها ، عادی سازی است: اندازه گیری کلیه متغیرها در یک متریک قابل مقایسه ، بنابراین ارزیابی روابط تحلیلی بین دو یا چند متغیر با وجود منشأ سری قیمت از مقادیر نابرابر (برای جزئیات ، ببینید که چرا ورود به سیستم باز می گردد).

بیایید بازگشت را به عنوان:

بازده ورود به سیستم را محاسبه کنید

نویسنده چرا Log Retus چندین مزایای استفاده از بازده ورود به سیستم را به جای بازده تشریح می کند ، بنابراین ما معادله بازده را به معادله بازده ورود به سیستم تبدیل می کنیم:

اکنون ، ما معادله بازگشت log را در بسته شدن قیمت های ارزهای رمزپایه اعمال می کنیم:

وارد کردن numpyبه عنوان NP# حرکت حرکت به 1df_change= DFبشردرخواست دادن(Lambda X: NPبشرورود به سیستم (x)- NPبشرورود به سیستم (xبشرتغییر (1)))df_changeبشرسر()

تجسم بازگشت گزارش

ما تغییرات عادی قیمت های بسته شدن را برای 50 ساعت گذشته ترسیم می کنیم. تفاوت های گزارش را می توان به عنوان درصد تغییر تفسیر کرد.

df_change[:50]. نمودار (اندازه= (15، 10)). axhline (رنگ= 'سیاه'، عرض خط= 2)

آیا قیمت های LTC به طور معمول توزیع می شوند؟

اگر فرض کنیم که قیمت ها به طور معمولی توزیع می شوند، log(1+ri) به راحتی به طور عادی توزیع می شود (برای جزئیات، نگاه کنید به چرا Log برمی گردد)

در نمودار زیر، توزیع قیمت های بسته شدن ساعتی LTC را رسم می کنیم. ما همچنین پارامترهای توزیع لگ نرمال را تخمین می زنیم و توزیع لگ نرمال تخمین زده شده را با خط قرمز ترسیم می کنیم.

از scipy. stats واردات lognormmatplotlib. pyplot را وارد کنیدبه عنوان pltانجیر، تبر= plt. نمودارهای فرعی (شکل= (10، 6))ارزش های= df['LTC']شکل، مکان، مقیاس= آمار. لاگ نورم. تناسب (ارزشها)x = np. linspace(مقادیر. min()، مقادیر. max()، len (مقادیر))pdf= آمار. لاگ نورم. pdf (x، شکل، مکان= مکان، مقیاس= مقیاس)برچسب= 'mean=%. 4f, std=%. 4f, shape=%. 4f'% (محل، مقیاس، شکل)ax. hist(ارزش ها، سطل ها= 30، هنجاردار= درسته)ax. نمودار (x, pdf, 'r-', lw= 2، برچسب= برچسب)ax. افسانه (محل= "بهترین")

آیا بازده گزارش LTC به طور معمول توزیع می شود؟

در نمودار زیر، توزیع بازده گزارش LTC را رسم می کنیم. ما همچنین پارامترهای توزیع نرمال را تخمین زده و توزیع نرمال تخمین زده شده را با خط قرمز ترسیم می کنیم.

واردات پاندابه عنوان PDوارد کردن numpyبه عنوان NPواردات scipy. statsبه عنوان آمارmatplotlib. pyplot را وارد کنیدبه عنوان pltارزش های= df_change['LTC'][1:]# اولین مقدار NA را رد کنیدx = np. linspace(مقادیر. min()، مقادیر. max()، len (مقادیر))محل، مقیاس= آمار. هنجار. تناسب (ارزش ها)param_density= آمار. هنجار. pdf(x, loc= مکان، مقیاس= مقیاس)برچسب= 'mean=%. 4f, std=%. 4f'% (مکان، مقیاس)انجیر، تبر= plt. نمودارهای فرعی (شکل= (10، 6))ax. hist(ارزش ها، سطل ها= 30، هنجاردار= درسته)ax. نمودار (x، param_density، 'r-'، برچسب= برچسب)ax. افسانه (محل= "بهترین")

همبستگی پیرسون با بازده لاگ

ما همبستگی پیرسون را از بازده گزارش محاسبه می کنیم. ماتریس همبستگی زیر مقادیری مشابه با ماتریس Sifr Data دارد. تفاوت هایی وجود دارد زیرا:

  • ما قیمت های روزانه میانگین وزنی حجمی را محاسبه نمی کنیم
  • دوره زمانی مختلف (ساعتی و روزانه)،
  • منابع داده های مختلف (Coinbase و Poloniex).

مشاهدات

  • BTC و ETH رابطه مثبت متوسطی دارند،
  • LTC و ETH یک رابطه مثبت قوی دارند.
واردات دریاییبه عنوان snsmatplotlib. pyplot را وارد کنیدبه عنوان plt# ماتریس همبستگی را محاسبه کنیدتصحیح= df_change. corr()# یک ماسک برای مثلث بالایی ایجاد کنیدماسک= np. zeros_like(corr, dtype= np. بوول)ماسک[np. triu_indices_from(mask)]= درسته# شکل matplotlib را تنظیم کنیدf، تبر= plt. نمودارهای فرعی (شکل= (10، 10))# نقشه حرارتی را با ماسک و نسبت تصویر درست بکشیدsns. نقشه حرارتی (corr, aot= درست، fmt= '. 4f'، ماسک= ماسک، مرکز= 0، مربع= درست، پهنای خط=5)

نتیجه

نحوه محاسبه بازده لاگ از قیمت های خام را با یک مثال عملی نشان دادیم. به این ترتیب ما قیمت ها را عادی کردیم، که تجزیه و تحلیل بیشتر را ساده می کند. ما همچنین نشان دادیم که چگونه پارامترها را برای توزیع های نرمال و log-normal تخمین بزنیم.

قبل از اینکه بری

من را در توییتر دنبال کنید، جایی که من به طور مرتب در مورد علم داده و یادگیری ماشین توییت می کنم.

گزینه های باینری...
ما را در سایت گزینه های باینری دنبال می کنید

برچسب : نویسنده : هایده حائری بازدید : <-PostHit-> تاريخ : پنجشنبه 16 شهريور 1402 ساعت: 15:20