بسیاری از معامله گران از گروههای بولینگر استفاده می کنند. من گروههای بولینگر را نیز دوست دارم. این آمار را به دنیای تجارت استفاده و به ارمغان می آورد. اما چقدر دقیق است؟آیا این یک روش صحیح برای استفاده از انحراف استاندارد در سری زمانی است؟بیایید با هم بدانیم!
هیچ شاخص اصلی وجود ندارد
به عنوان معامله گران ، بیشتر ما از نمودارهای شمع/نوار OHLC (نزدیک به پایین) استفاده می کنیم. این نمودار به ما نشان می دهد که در گذشته چه اتفاقی افتاده است. ما به وضوح می توانیم ببینیم که یک نوار باز ، حرکت و بسته شده است. ما از شاخص های زیادی استفاده می کنیم. همه آنها به ما می گویند که در گذشته چه اتفاقی افتاده است. به منهیچ شاخص اصلی وجود ندارد. گذشته گذشته است! با این حال ، احتمال وجود دارد. اگر از گذشته داده های کافی داشته باشیم ، در مورد دارایی اساسی آمار کافی خواهیم داشت.
ما به داده نیاز داریم! داده ها کلید هستند. داده ها همه چیز است. ما باید داده ها را از یک منبع قابل اعتماد بگیریم. در این مقاله ، من قصد دارم به شما نشان دهم که چگونه می توانید داده ها را به صورت رایگان و همچنین با استفاده از پایتون بارگیری کنید. من قصد دارم از Alphavantage استفاده کنم.
اول از همه؛پیش بروید و برای یک کلید رایگان در وب سایت Alphavantage ثبت نام کنید. توجه داشته باشید که ، من به آنها وابسته نیستم.
اکنون اجازه دهید داده ها را با استفاده از پایتون بارگیری کنیم.
def load_data (sym = "ere" ، to_sym = "usd" ، interval = "5min" ، dtype = 2 ، intraday = false ، outputsize = "full"):key = "enter_your_key"اگر dtype == 1: # سهام دانلوداگر intraday:url = "و نماد =<>& apikey =<>& dataType = csv & outputSize = https: //www. alphavantage. co/query؟ function = time_series_intraday & interval =<>و نماد =<>& apikey =<>& dataType = csv & outputSize =<>". Format (فاصله ، سیم ، کلید ، outputSize)دیگری:url = "& apikey =<>& dataType = csv & outputSize = https: //www. alphavantage. co/query؟ function = time_series_daily & symbol = =<>& apikey =<>& dataType = csv & outputSize =<>". Format (سیم ، کلید ، outputSize)elif dtype == 2: # دانلود فارکسچاپ ("FX")اگر intraday:url = "& from_symbol =<>& to_symbol =<>& apikey =<>& dataType = csv & outputSize = https: //www. alphavantage. co/query؟ تابع = fx_intraday & intermal =<>& from_symbol =<>& to_symbol =<>& apikey =<>& dataType = csv & outputSize =<>". Format (فاصله ، سیم ، to_sym ، کلید ، outputSize)دیگری:url = "& to_symbol =<>& apikey =<>& dataType = csv & outputSize = https: //www. alphavantage. co/query؟ function = fx_daily & from_symbol =<>& to_symbol =<>& apikey =<>& dataType = csv & outputSize =<>". Format (Sym ، to_sym ، کلید ، outputSize)elif dtype == 3: # بارگیری رمزنگاریurl = "و بازار =<>& apikey =<>& dataType = csv & outputSize = https: //www. alphavantage. co/query؟ تابع = digital_currency_daily & symbol = =<>و بازار =<>& apikey =<>& dataType = csv & outputSize =<>". Format (Sym ، to_sym ، کلید ، outputSize)چاپ ("بارگیری" ، URL)چاپ("---")df = pd. read_csv (url)# ستون ها را تغییر نام دهیداگر dtype == 3:df. rename (ستون = ، inplace = true)دیگری:df. rename (ستون = ، inplace = true)df. sort_values (توسط = "تاریخ" ، صعودی = درست ، inplace = true)چاپ ("داده بارگذاری شده:" ، لن (DF) ، "ردیف")بازگشت DF# گزینه هاSYM = "EUR"to_sym = "USD" # فقط برای fx و cryptocurrencyintraday = false # false: dailyفاصله = "5min" # 1min 5min 15min 30min 60min - فقط در صورت درست شدن داخل intradaydtype = 2 # 1: سهام 2: fx 3: crypto# بارگیری داده هاdf = load_data (سیم ، to_sym ، فاصله ، dtype ، intraday)ما داده های خود را بارگیری کرده ایم و در اینجا به نظر می رسد.
df ['close']. طرح (figsize = (15 ، 10))
در اینجا نمودار روزانه EURUSD است. اکنون کاری که ما باید انجام دهیم اضافه کردن باند های بولینگر در نمودار و محاسبه آمار است.
def add_bb (df ، dev = 2 ، lb = 20 ، col = "close" ، خطوط = 100):df ['ma'] = df [col] . rolling (lb) . mean ()df ['std'] = df [col] . rolling (lb) . std ()df ['ovb'] = df ['ma'] + df ['std'] * devdf ['ovs'] = df ['ma'] - df ['std'] * devplot_candles (df ، خطوط = خط)get_stats (df ، dev = dev)
توجه کنید که من دو کارکرد جدید اضافه کرده ام. یک شمع اول شمع ها و دوم آمار گذشته از باندهای بولینگر را محاسبه و چاپ می کند. بیایید به سرعت این کارکردها را تعریف کنیم.
def plot_candles (df ، خطوط = 100):df ['bar'] = df ['high'] - df ['low']df ['بدن'] = abs (df ['close'] - df ['باز'])df['Up'] = df['Close']>DF ['Open']df ['color'] = np. where (df ['up'] ، "g" ، "r")if lines>0:db = df [-lines:]. reset_index (drop = true) . reset_index ()دیگری:db = df. reset_index (drop = true) . reset_index ()plt. figure (figsize = (15 ، 10))plt. bar (db ['index'] ، پایین = db ['low'] ، height = db ['bar'] ، color = "#000000" ، عرض = 0. 2)plt. bar (db ['index'] ، bottom = np. where (db ['up'] ، db ['Open'] ، db ['close']) ، ارتفاع = db ['body'] ، color =db ['رنگ'] ، عرض = 0. 9)plt. plot (db ['ovb'] ، color = "b")plt. plot (db ['ovs'] ، color = "b")plt. show ()def get_stats (df ، high_col = "close" ، low_col = "close" ، high_dev = "ovb" ، low_dev = "ovs" ، dev = 2):Total = len (df)داخل = len (df [(df [high_col]<=df[high_dev]) & (df[low_col]>= df [low_dev])])upside = len(df[df[high_col]>= df [high_dev]])نزولی = لن (df [df [low_col]<=df[low_dev]])i = np. round (داخل / کل * 100 ، 2)u = np. round (وارونه / کل * 100 ، 2)d = np. round (نزولی / کل * 100 ، 2)# آمار را چاپ کنیدچاپ ("کل میله ها:" ، کل)چاپ ("انحراف" ، dev)چاپ ("داخل:" ، من ، "٪" ، sep = "")چاپ ("سمت بالا:" ، u ، "٪" ، sep = "")چاپ ("طرف پایین:" ، د ، "٪" ، sep = "")حالا بیایید جلو برویم و عملکرد ADD_BB () را اجرا کنیم و نتایج را مشاهده کنیم
dev = 2 # انحراف استانداردLB = 20 # میانگین متحرک ساده (SMA) از 20 میله آخر از جمله نوار نهاییخطوط = 500 # طرح فقط 500 بار آخرین بارadd_bb (df ، dev = dev ، lb = lb ، خطوط = خط)
نمودار شمعدان بسیار خوب به روشی دشوار! و در اینجا آمار باندهای بولینگر در دو انحراف استاندارد وجود دارد:
کل میله ها: 5000انحراف 2داخل: 89. 96 ٪سمت بالا: 5. 3 ٪طرف پایین: 4. 36 ٪
در داخل ، میله های کل بین 2 انحراف استاندارد بسته شده است. به معنای جانبی ، کل میله های بسته شده در بالای باند فوقانی و پایین به معنای ، کل میله های بسته در زیر باند پایین است.
اکنون آنچه ما در اینجا می بینیم آمار "گذشته" گروههای استاندارد بولینگر است. احساس راحتی کنید تا تنظیمات را تغییر دهید. به عنوان مثال ، می توانید یک انحراف استاندارد را با 200 SMA تنظیم کنید.
آیا گروههای بولینگر دقیق است؟
اگر پیشینه آماری دارید ، باید بدانید ، انحراف استاندارد در یک داده توزیع شده عادی بهتر عمل می کند. با این حال ، قیمت های بسته شدن به طور معمول توزیع نمی شود. به راحتی می توانید ببینید که کد زیر را اجرا می کند:
df ['close']. hist (سطل = 500 ، figsize = (15 ، 10))
ممکن است فکر کنید که به نظر می رسد توزیع عادی است اما به راحتی می توانم بگویم که اینگونه نیست. در اینجا چگونه باید به نظر برسد:
این همان چیزی است که من آن را یک شکل خمیده زنگ کامل می نامم. اگر چنین نقشه هیستوگرام دارید ، می توانید آمارهای بهتری داشته باشید که بیشتر به شما می گوید. و فاصله بین گروهها به اندازه گروههای بولینگر گسترده نخواهد بود.
انحراف استاندارد به ما چه می گوید؟
انحراف استاندارد بیان می کند که ؛68. 26 ٪ از داده ها در یک انحراف استاندارد از میانگین قرار می گیرند ، 95. 44 ٪ از داده ها در دو انحراف استاندارد از میانگین و 99. 74 ٪ از داده ها در سه انحراف استاندارد از میانگین قرار می گیرند. با این حال ، اگر ما با استفاده از یک انحراف استاندارد آزمایش کنیم ، نتیجه اینجاست:
کل میله ها: 5000انحراف 1داخل: 44. 96 ٪سمت بالا: 28. 96 ٪طرف پایین: 25. 7 ٪
شما می توانید سهام ، فارکس ، cryptocurrency را امتحان کنید. همه آنها نتایج مشابهی را به شما می دهند. این اصلاً به نظر من دقیق نمی رسد!
نتیجه
از نظر آماری ، گروههای بولینگر ممکن است نیازهای شما را برآورده نکند. با این حال ، شما می توانید از استراتژی تجارت مورد علاقه خود استفاده کنید و هنوز هم سود کسب کنید!
سلب مسئولیت
من یک مشاور مالی حرفه ای نیستم. این مقاله و کدها ، فقط برای اهداف آموزشی و نه مشاوره مالی به اشتراک گذاشته شده است. شما مسئولیت ضرر و زیان خود را بر عهده دارید.
کل کد این مقاله را می توان در این مخزن یافت:
تجارت گزینه های دودویی در ایران...
ما را در سایت تجارت گزینه های دودویی در ایران دنبال می کنید
برچسب :
نویسنده : زینالعابدین مراغهای
بازدید : <-PostHit->
تاريخ : دوشنبه
2 مرداد
1402 ساعت: 14:32