شاخص مقاومت نسبی (RSI) و نمودار را با شمع با استفاده از پایتون ، پاندا و ماتپلوتلیب محاسبه کنید

ساخت وبلاگ

برای پیشرفت سری چک های گردن و کاشین Snappin ، من از Python و Pandas برای محاسبه شاخص قدرت نسبی (RSI) برای یک تیک و دوره زمانی معین استفاده می کنم ، سپس آن را با استفاده از Matplotlib ترسیم می کنم.

من حدس می زنم این جایی است که همه چیز کمی کثیف می شود ، بنابراین من با اصول اولیه شروع می کنم. اول ، سلب مسئولیت استاندارد: من یک تحلیلگر نیستم و این مقاله قصد ندارد دارایی های تجاری را در هر سطحی پیشنهاد کند ... من فقط یک برنامه نویس هستم که از استفاده از منطق برنامه نویسی برای سناریوهای واقعی ، مانند تجزیه و تحلیل بازار لذت می برد. این گفت ، بیایید وارد آن شویم!

با شروع با سرمایه گذاری ، شاخص قدرت نسبی مقاله (RSI) توسط جیسون فرناندو ، تعریف RSI است:

شاخص قدرت نسبی (RSI) یک شاخص شتابدار است که در تجزیه و تحلیل فنی مورد استفاده قرار می گیرد که میزان تغییرات قیمت اخیر را برای ارزیابی شرایط بیش از حد یا بیش از حد در قیمت سهام یا دارایی دیگر اندازه گیری می کند.

در مقاله قبلی ، من در مورد ترسیم مقایسه میانگین های متحرک 50 و 200 روزه نوشتم. من می خواهم به اضافه کردن ابزارهای تحلیلی بیشتری مانند این به نوار ابزار ضرب المثل ادامه دهم. در حین پیاده روی سگها ، من به پادکست گوش می دادم که JC Parets of Allstarcharts. com در حال مصاحبه بود ، و او اظهار داشت که RSI یکی از شاخص های اصلی وی است ، بنابراین من رفتم ... صادقانه ، وقتی شما چیزی را نمی دانید ، مانندمن ، بهترین کار این است که فقط هر کاری را که می توانید بدست آورید و ببینید که آیا می توانید آن را کار کنید. بنابراین ، بدون اینکه کسی یا چیزی که حاکی از استدلال خلاف آن است ، چرا این موضوع را بیرون نمی آوریم؟

RSI یک فرمول نسبتاً ساده است ، اما توضیح آن بدون صفحات نمونه دشوار است. برای اطلاعات بیشتر محاسبه به کتاب وایلدر مراجعه کنید. فرمول اساسی:

RSI = 100 - [100 / (1 + (میانگین تغییر قیمت رو به بالا / میانگین تغییر قیمت نزولی))]

در ابتدا، من این را به معنای واقعی کلمه در نظر گرفتم، از این نظر که یک «فرمول نسبتاً ساده» است، اما از نظر برنامه ریزی، یک یا دو چالش داشت… هیچ چیز خیلی پیچیده ای نداشت. با این اوصاف، برای درک بهتر فرمول، باید به کتاب وایلدر نگاه می کردم. یکی دیگر از مقاله های Investopedia، فرمول و تجزیه و تحلیل را کمی بهتر می کند. من توانستم کتاب اصلی وایلدر را با فرمت PDF دانلود کنم که حاوی ابزارهای تحلیلی فراوان دیگری است، بنابراین فکر می کنم چند هفته تمرین برای تکمیل کردن دارم! با این حال، به خاطر این مقاله، تعریف Wilder بهترین برای استفاده است. راستش را بخواهید، فقط عنوان را با "PDF" در گوگل جستجو کنید و آن را نیز پیدا خواهید کرد. من نمی خواهم هیچ قانون کپی رایتی را زیر پا بگذارم، بنابراین آن را در اینجا پست نمی کنم. با این حال، آنچه شگفت انگیز است، این است که تمام محاسبات و نمودارهای وایلدر کاملاً با دست انجام شده است!

من همچنین به مقاله ای اشاره کردم که محاسبه RSI در پایتون: 3 روش برای پیش بینی وضعیت بازار و حرکت قیمت توسط زک وست یافتم، و این مرجع بسیار بهتر از هر چیزی است که می توانم در اینجا تکرار کنم. حتما آن را بررسی کنید. در مورد این مقاله، به یاد داشته باشید که من این را می نویسم تا فرآیند را یاد بگیرم ... امیدوارم، این یک پایه خوب باشد، اما مقاله Zach ارزش خواندن دارد.

ابتدا داده ها را در پانداها بارگذاری کنید و قاب داده را تنظیم کنید، سپس در هر یک از روزها تکرار کنید و تعیین کنید که آیا روز یک روز بالا (قیمت بسته بالاتر از بسته شدن قبلی است) یا یک روز پایین (قیمت بسته شدن است). کمتر از بسته قبلی). همچنین، فقط یک نکته در مورد کد، راه های بسیار کارآمدتری برای دستیابی به نتایج وجود دارد، اما روشی که من آن را کدگذاری کرده ام برای توضیح کاملا شفاف است. هنگامی که قاب داده بارگیری شد، ایندکس روی تاریخ تنظیم شد، فریم داده را به تابعی ارسال می کنم که منطق UP یا DOWN را برای هر ردیف اضافه می کند. من از ردیف اول صرفنظر می کنم زیرا هیچ بسته قبلی برای آن روز وجود ندارد، اما با شروع از ردیف 1، روی هر یک از سطرها در قاب داده تکرار می کنم و بررسی می کنم که آیا بسته دیروز [i-1] بزرگتر از بسته شدن امروز است [من]. اگر امروز بزرگتر یا مساوی با بسته شدن دیروز باشد، یک روز UP است: df['gain']. اگر دیروز بیشتر از امروز باشد، یک روز پایین است: df['loss']. سپس قاب کامل داده را به تابع فراخوانی برمی گرداند.

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

وای! این کمی مشکل بود ، اما هنوز پیچیدگی کمی باقی مانده است ... محاسبه قدرت نسبی (RS) و شاخص قدرت نسبی (RSI). برای انجام این کار ، ما باید به سادگی میانگین سود را با میانگین ضرر تقسیم کنیم تا قدرت نسبی بدست آوریم. پس از قدرت نسبی ، برای به دست آوردن شاخص قدرت نسبی باید از فرمول پیروی کنیم:

برای ترسیم این ، من یک تابع را برای انتقال قاب داده با RSI شامل یک نمودار نقشه ساده می نویسم و همچنین یک خط برای تمایز آستانه های 70 و 30 درصدی اضافه می کنم.

سرانجام ، مقایسه جانبی نمودار من (خط پایین) با همان نمودار و دوره زمانی از وب سایت Fidelity. باید اعتراف کنم که آنها کم و بیش یکسان هستند ، بنابراین من از نتایج راضی هستم! خط من کمی چاق تر است ، کمی خاموش است و غیره. اما ، غیر از تفاوت های آرایشی ، نمودار یکسان است.

من فکر می کنم ما آن را میخ زدیم!

آخرین مرحله داشتن RSI و شمع در کنار هم در یک نمودار واحد است. برای انجام این کار ، من کد را اصلاح کردم تا قاب داده سازگار تر شود و کمی آشکارتر باشد. می توانید کد را از اینجا بارگیری کنید. در زیر نمودار نهایی نمودار قرار دارد ، جایی که من نمودار برتر را به عنوان شمعدان برای دوره شش ماهه و یک RSI 14 روزه در زیر آن ترسیم می کنم.

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

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

برچسب : نویسنده : سحر زکریا بازدید : 39 تاريخ : سه شنبه 3 مرداد 1402 ساعت: 21:49