اگر من را در Medium دنبال می کنید، احتمالاً می دانید که من به تجارت کریپتو و یادگیری ماشین بسیار علاقه مند هستم. خواندم که کانال های رگرسیون خطی می توانند در معاملات کالا بسیار موثر باشند. از آنجایی که بیت کوین و سایر ارزهای دیجیتال به عنوان اوراق بهادار در نظر گرفته نمی شوند، می توان آنها را آزادانه در بازارهای دارایی سنتی و همچنین مبادلات ارزهای دیجیتال معامله کرد.
بنابراین طبق معمول سعی کردم تحقیقاتی را انجام دهمo کانال های رگرسیون خطی چیست، چگونه از آنها استفاده کنیم و چگونه آنها را کدگذاری کنیم. جای خالی زدم من فقط برخی توضیحات اساسی در مورد اینکه کانال های رگرسیون خطی در سطح بالایی هستند، اما برای توسعه عملی چیزی کافی نیستند، پیدا کردم.
کانال رگرسیون خطی چیست؟
در سطح پایه، کانال های رگرسیون خطی می توانند روندها و جهت روند را شناسایی کنند. استفاده از انحراف استاندارد به معامله گران نشان می دهد که چه زمانی بازارها نسبت به روند بلندمدت بیش از حد خرید یا بیش از حد فروش می شوند. معمولاً من از واگرایی میانگین متحرک (MACD) برای شناسایی روندها و شاخص قدرت نسبی (RSI) برای تعیین اینکه آیا بازار بیش از حد خرید شده یا کم فروش است استفاده می کنم. برای روند بلندمدت من معمولاً از " استفاده می کنمصلیب طلایی"و"صلیب مرگ” الگوها اگر با این اصطلاحات آشنا نیستید، زمانی است که SMA50 بالاتر یا پایین تر از SMA200 باشد. این هنوز به شدت در مؤسسات استفاده می شود، اما کانال های رگرسیون خطی می توانند جایگزین یا تأییدی ارائه دهند.
یک کانال رگرسیون خطی از سه جزء تشکیل شده است:
- خط رگرسیون خطی - خطی که بهترین تناسب را با تمام نقاط داده مورد علاقه دارد. اگر با یادگیری ماشین آشنایی دارید، این یک مدل رگرسیون خطی استاندارد با خط بهترین تناسب است.
- خط کانال بالایی - خطی که موازی با خط رگرسیون خطی است و معمولاً یک تا دو انحراف معیار بالاتر از خط رگرسیون خطی است. در این مثال من فقط یک انحراف استاندارد را در بالا رسم کردم اما در صورت تمایل به راحتی به دو تنظیم می شود.
- خط کانال پایین - این خط موازی با خط رگرسیون خطی است و معمولاً یک تا دو انحراف استاندارد زیر خط رگرسیون خطی است. در این مثال من فقط یک انحراف معیار را در زیر رسم کردم اما اگر بخواهید به راحتی به دو تنظیم می شود.
تفسیر کانال رگرسیون خطی
یک انحراف استاندارد از "خط رگرسیون خطی” به این معنی است که 68٪ از کل قیمت ها در این خطوط قرار دارد. دو انحراف استاندارد به این معنی است که 95٪ از کل قیمت ها بین این خطوط قرار می گیرند. من از یک انحراف استاندارد استفاده می کنم.
- سیگنال بخرید - قیمت پایین تر از "خط کانال پایین و ادامه روند انتظار می رود.
- فروش سیگنال - قیمت بالاتر از "خط کانال بالایی” و ادامه روند انتظار می رود.
اگر قیمت زمان قابل توجهی را در خارج از کانال صرف کند، یک هشدار اولیه است که الف معکوس روند قابل توجهی ممکن است نزدیک باشد.
بررسی کد پایتون
اولین قدم این است که کتابخانه های لازم را بارگیری کنید و محیط خود را راه اندازی کنید.
وارد کردن زمان داده
درخواست واردات
زمان وارداتnumpy را به عنوان np وارد کنید
وارد کردن پانداها به عنوان pd
واردات دریا به عنوان sns
matplotlib.pyplot را به صورت plt وارد کنیداز مجموعه دادههای وارداتی sklearn، linear_model
از sklearn.metrics import mean_squared_error، r2_score%matplotlib درون خطی
برای کار به مقداری داده نیاز دارید. من یک تابع برای بازیابی اطلاعات بازار از صرافی Coinbase Pro و برگرداندن یک دیتافریم پاندا ایجاد کردم.
def get_market_data (بازار، جزئیات):
resp = requests.get('https://api.pro.coinbase.com/products/' + market + '/candles?granularity=' + str(granularity))
اگر resp.status_code != 200:
افزایش Exception(format(resp.json()['message']))
دیگری:
df = pd.DataFrame(resp.json()، columns=[ 'epoch', 'low', 'high', 'open', 'close', 'volume'])
df = df.iloc[::-1].reset_index()
بازگشت df
بازیابی 300 روز گذشته داده های بیت کوین از صرافی Coinbase Pro.
df = get_market_data ('BTC-GBP', 86400)
اوج گرفتن در 5 ردیف اول داده های ما…
df.head()
تجسم داده های ما با نمودار رگرسیون Seaborn.
sns.set(font_scale=1.5)
plt.figure(figsize=(12,10،XNUMX))
sns.regplot(x=df.index، y='close', data=df, ci=none, color='r')
حالا بیایید کانال رگرسیون خطی خود را با یک انحراف استاندارد اضافه کنیم.
sns.set(font_scale=1.5)
plt.figure(figsize=(12,10،XNUMX))
rp = sns.regplot (x=df.index، y='close', data=df, ci=none, color='r')y_rp = rp.get_lines()[0].get_ydata()
x_rp = rp.get_lines()[0].get_xdata()
sns.lineplot(x=x_rp، y=y_rp + np.std(y_rp)، color='b')
sns.lineplot(x=x_rp، y=y_rp - np.std(y_rp)، color='b')tsidx = pd.DatetimeIndex(pd.to_datetime(df['epoch'], unit='s'), dtype='datetime64[ns]', freq='D')
rp.set_xticklabels(tsidx، rotation=45)plt.xlabel('')
plt.ylabel ("قیمت")
plt.show ()
این به ما چه می گوید؟
همانطور که می بینید و احتمالاً می دانید بیت کوین و بازارهای کریپتو دوباره سقوط کرده اند. این بار به این دلیل بود که ایلان گفت که تسلا به دلیل سازگاری با محیط زیست، بیت کوین را به عنوان روش پرداخت نمی پذیرد! منظورم این است که این تنها دلیل سقوط نیست، بلکه این چیزی است که همه چیز را شروع کرده است. خیلی غیرمسئولانه است اما همه چیز به همین شکل پیش می رود.
بر اساس نمودار بالا با بسته شدن قیمت ها در زیر "خط کانال پایین این می تواند یک سیگنال خرید یا یک هشدار اولیه در مورد معکوس شدن روند قابل توجه باشد. همه چیز واقعاً بستگی دارد که چقدر قیمت ها زیر خط باقی بمانند. خیلی امیدوار کننده به نظر نمی رسد و من فکر می کنم ممکن است چند ماه سختی در پیش داشته باشیم. نظر شخصی من این است که ممکن است قبل از اینکه بهتر شود خیلی بدتر شود. این روند تا حدود 6 ماه ادامه خواهد داشت و سپس شاهد روند صعودی بعدی خواهیم بود.
همه چیز بد نیست…
من بیش از چهار سال است که کریپتوها را معامله می کنم و حداقل سه تا از چهار مورد از این خرابی ها را تجربه کرده ام. به نظر می رسد که این یک اتفاق سالانه پس از یک دوره صعودی طولانی است. هر بار حتی بالاتر می رود. من اعتقاد راسخ دارم که ارزهای دیجیتال و تجارت کریپتو اینجا باقی مانده است. فقط باید صبور باشیم و طوفان را تحمل کنیم. با این حال، برخی از سکههای جایگزین وجود دارند که علیرغم سقوط بسیار خوب عمل میکنند. به عنوان مثال Cardano (ADA) گزینه بسیار خوبی است و اکنون کمتر از 1 پوند است. این قطعاً یکی از مواردی است که برای آینده باید حفظ شود زیرا به طور بالقوه می تواند به یکی از ارزهای برتر بپیوندد.
ربات تجارت رمزنگاری منبع باز رایگان (“PyCryptoBot”) که من توسعه دادم علیرغم شرایط بازار هنوز به خوبی کار می کند. من یک چت گروهی تلگرام راه اندازی کردم که بسیار فعال است و بیش از 300 نفر در مورد ربات و استراتژی ها چت می کنند. شما خوش آمدید برای پیوستن و مشارکت.
لینک دعوت به چت گروهی اصلی این است:
https://t.me/joinchat/09hYKfelbRY2MDNk
Google Colab
من همه کدها را قبلاً در بالا برای شما ارائه کرده ام، اما اگر کد منبع را می خواهید، یک دفترچه یادداشت ایجاد کرده ام که می تواند به راحتی در Google Colab اجرا شود.
- رفتن به "https://colab.research.google.com"
- روی تب GitHub کلیک کنید
- برای «URL GitHub یا جستجو بر اساس سازمان یا کاربر» را وارد کنیدhttps://github.com/whittlem/colabnotebooks” و enter را فشار دهید
- مخزن:whittlem/colabnotebooks"، شاخه: "اصلی"
- روی "LinearRegressionChannel.ipynp"
- روی "زمان اجرا” از منو، سپس ”همه را اجرا کنید"
موفق باشید و امیدوارم برای شما مفید بوده باشد.
- '
- "
- فعال
- ADA
- معرفی
- دارایی
- بهترین
- بیت کوین
- ربات
- گاو بازی
- خرید
- کاردانو
- کاردانو (ADA)
- کانال
- رمز
- coinbase
- Coinbase Pro
- سکه
- کالا
- ادامه دادن
- سقوط
- عضو سازمانهای سری ومخفی
- بازار رمز گشایی
- رمزنگاری معاملات
- کریپتو کارنسی (رمز ارزها )
- صرافی های Cryptocurrency
- ارز
- CZ
- داده ها
- توسعه
- در اوایل
- موثر
- محیط
- تبادل
- مبادلات
- شرکت
- نام خانوادگی
- مناسب
- به دنبال
- رایگان
- FS
- تابع
- آینده
- GitHub
- گوگل
- گروه
- GV
- اینجا کلیک نمایید
- زیاد
- نگه داشتن
- چگونه
- چگونه
- HTTPS
- شناسایی
- شاخص
- موسسات
- علاقه
- گرفتار
- IP
- IT
- پیوستن
- یادگیری
- سطح
- LG
- لاین
- ارتباط دادن
- بار
- طولانی
- فراگیری ماشین
- بازار
- بازارها
- متوسط
- متریک
- مدل
- ماه
- ارائه
- باز کن
- نظر
- گزینه
- دیگر
- پرداخت
- مردم
- فشار
- قیمت
- در هر
- افزایش
- تحقیق
- دویدن
- جستجو
- اوراق بهادار
- تنظیم
- So
- ماندن
- طوفان
- تلگرام
- تسلا
- منبع
- زمان
- بالا
- معامله گران
- تجارت
- روند
- us
- حجم
- در داخل
- مهاجرت کاری
- سال