راهنمای کامل برای تبدیل نوت بوک پایتون به یک برنامه وب تعاملی

ساخت وبلاگ

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

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

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

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

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

این یک توصیه سرمایه گذاری نیست. من فقط می خواهم نحوه بررسی داده های مالی را با استفاده از پرکاربردترین شاخص های فنی به زبان پایتون نشان دهم.

Mercury ابزاری قدرتمند برای تبدیل یک برنامه علوم داده ساخته شده بر روی یک نوت بوک پایتون به یک برنامه وب تعاملی است. در این مقاله ، من در حال ایجاد یک برنامه تجزیه و تحلیل داده های مالی با استفاده از شاخص های مالی در یک نوت بوک پایتون هستم که آن را با استفاده از عطارد به یک برنامه وب تبدیل می کند و به سرویس Dyno Free Heroku برای استفاده در وب اعزام می شود. من فکر می کنم این ابزار برای توسعه دهندگان پایتون یا هرکسی که زبان پایتون را می شناسد در موضوعات علوم داده می داند بسیار مفید خواهد بود و تجزیه و تحلیل های سریع را ساده می کند. شما یک داشبورد خواهید داشت تا به هر کسی که برنامه نویسی را در پایان این پست نمی داند نشان دهید.

از طرف دیگر ، شما یاد خواهید گرفت که چگونه:

  • برخی از شاخص های فنی را محاسبه کرده و آنها را برای داده های مالی به زبان پایتون تجسم کنید ،
  • داشبورد را در نوت بوک Jupyter یا Visual Studio Code Jupyter ایجاد کنید ،
  • نوت بوک را به یک برنامه وب پویا با عطارد تبدیل کنید ،
  • یک برنامه داشبورد مبتنی بر نوت بوک را به Heroku Free Dyno مستقر کنید.

تجزیه و تحلیل فنی و شاخص ها

میانگین های متحرک (MAS)

در امور مالی ، میانگین های متحرک (MAS) یک شاخص فنی است که معمولاً در تجزیه و تحلیل فنی استفاده می شود. محاسبه میانگین متحرک سهام کمک به صاف کردن داده های قیمت با ایجاد قیمت متوسط به روز شده است. این می تواند از افزایش قیمت یا کاهش قیمت پشتیبانی کند. در زبان پایتون ، یک میانگین متحرک ساده می تواند مانند کد زیر محاسبه کند. این بخشی از نوت بوک پایتون من در همان زمان است.

## محاسبه 7 روزه ، 14 روز ، 21 روز در حال حرکتtechAnalysis=finData[["Close"]]اگر ma_7d:TechAnalysis ["MA_7D"] = TechAnalysis ["Close"]. Rolling (5) . Mean ()اگر ma_14d:TechAnalysis ["MA_14D"] = TechAnalysis ["Close"]. Rolling (14) . Mean ()اگر ma_21d:TechAnalysis ["MA_21D"] = TechAnalysis ["Close"]. Rolling (21) . Mean ()

در این کد ، 7 روز ، 14 روز و 21 روز حرکت به طور متوسط بر روی داده های "نزدیک" محاسبه می شود.

MACD

نشانگر MACD یک شاخص حرکت گرایانه است که از نظر دو نوع مختلف قیمت مشاهده می شود. این با کم کردن میانگین حرکت 26 روزه نمایی از میانگین حرکت 12 روزه نمایی بدست می آید. سیگنال موجود در شاخص MACD به عنوان محرک خرید و فروش استفاده می شود. در زبان پایتون ، نشانگر MACD می تواند مانند این روش زیر محاسبه کند. من از این روش در برنامه جیوه خود استفاده کردم. این یک روش بسیار ساده و مؤثر برای محاسبه MACD به زبان پایتون است.

# MACD را محاسبه کنیداگر "MACD" در شاخص ها:K = TechAnalysis ['Close']. EWM (دهانه = 12 ،تنظیم = نادرست ،min_periods = 12) . mean () D = TechAnalysis ['Close']. EWM (دهانه = 26 ،تنظیم = نادرست ،min_periods = 26) . mean () MACD = K-D macd_s = macd. ewm (دهانه = 9 ،تنظیم = نادرست ،min_periods = 9) . mean () MacD_H = MACD - MACD_S TechAnalysis ['MacD_H'] = TechAnalysis. index. map (MACD_H) TechAnalysis ['MacD_S'] = TechAnalysis. index. map (MACD_S)

در این کد ، ما نشانگر MACD ، سیگنال MACD و هیستوگرام MACD را محاسبه کردیم و آنها را در قاب داده TechAnalysis ذخیره کردیم.

RSI (شاخص قدرت نسبی)

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

## RSI محاسبه کنیداگر "RSI" در شاخص ها:وارد کردن pandas_ta به عنوان PTATechAnalysis ["RSI"] = PTA. RSI (TechAnalysis ["Close"] ،lenght = "14")

اکنون ، ما ستون "RSI" را در قاب داده TechAnalysis داریم.

جلد

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

محیط پایتون را ایجاد کنید و جیوه را نصب کنید

اگر می خواهید محیط روشن کار کنید ، پیشنهاد می کنم یک محیط مجازی Python ایجاد کنید و با آن کار کنید. من از بسته Python VirtualEnv برای ایجاد یک محیط مجازی Python استفاده می کنم.

python 3-m pip virtualenv را نصب کنید

سپس ، بیایید یک محیط مجازی برای این پروژه ایجاد کنیم.

Pytho n-m Venv My_env

ما یک محیط داریم و باید آن را فعال کنیم تا با کد زیر استفاده کنیم.

cd my_envسطل منبع/فعال کردن

my_env فعال شده است.

برای استفاده از توابع و ماژول های استفاده شده پایتون ، باید بسته های مورد نیاز را در زیر نصب کنید.

منگولهپانداپاندااعماقpandas_datareaderدرخواست هامگسزیبا 4جبهه

می توانید همه را کپی کرده و در پرونده مورد نیاز. txt قرار دهید. سپس می توانید دستور زیر را اجرا کرده و تمام بسته های مورد نیاز را به راحتی نصب کنید.

pip instal l-r الزامات. متن

کنترل سرور جیوه

اکنون ، اجازه دهید سرور عطارد را به سرعت کنترل کنیم. یک دستور ساده برای انجام این کار کافی است.

Mercury Runserver - Runworker

بیایید آدرس HTTPS: 127. 0. 0. 1/8000 را در مرورگر وب خود بررسی کنیم. اگر می توانید صفحه زیر را ببینید ، این کار را با موفقیت انجام دادید.

برای کدگذاری ، می تواند از نوت بوک Jupyter یا VS Code Jupyter Extension استفاده کند. نکته قابل توجه این است که شما باید هنگام استفاده از نوت بوک Jupyter یا VS Code ، Keel My_env را انتخاب کنید.

اگر نمی توانید my_env را ببینید ، باید هسته مجازی را به هسته های Jupyter اضافه کنید. برای این کار ، بسته Jupyter را از طریق PIP نصب کرده و هسته را از طریق بسته IPykeel اضافه می کنید. در my_env dir ، شما باید دستورات زیر را اجرا کنید یا اسناد را در لینک مشترک بخوانید.

Python 3-M PIP نصب Jupyter IpykeelPytho n-m Ipykeel نص ب-USE R-Name Myenv "

می توانید هسته های نصب شده Jupyter را با دستور زیر بررسی کنید.

لیست Jupyter Keelspec

اگر می توانید هسته را از طریق هسته های دیگر مشاهده کنید ، می توانید مطمئن شوید که برای کدگذاری نصب شده است.

عالی! بیایید کد من را مرور کنیم و آن را به راحتی به یک برنامه وب تبدیل کنیم !!

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

امور مالی یاهو

Finance Yahoo یک وب سایت مفید برای جمع آوری بیشترین داده های مالی به سادگی و سریع است. می توانید داده های تاریخی را در اینجا رایگان دریافت کنید.

من از کد زیر برای جمع آوری داده های مالی از Finance Yahoo با پایتون استفاده می کنم.

وارد کردن pandas_datareader به عنوان دکتر## تاریخ yyyy-dd-mmstart_date = "2015-01-01"end_date = date. today ()findata = dr. data. get_data_yahoo (بلیط ،شروع = start_date ،پایان = end_date)

ماژول pandas_datareader شامل عملکرد get_data_yahoo است و می توانیم داده های تاریخی را به راحتی جمع آوری کنیم.

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

در این برنامه ، برخی از میانگین های متحرک ، MACD ، شاخص های RSI و داده های حجم برای انجام تجزیه و تحلیل فنی ساده در مورد هر داده مالی استفاده می شود.

من نمودارهای شمعدانی را در روز گذشته داده های جدید و کم عمق و این شاخص ها را به یک نمودار ترسیم کردم. تمام کدها به مخزن GitHub من منتقل شدند و می توانید کد را در قسمت زیر بررسی کنید.

این زیر پرونده YAML است که من برای برنامه Finanalyzer-Mercury استفاده کرده ام. این ابزارک را در برنامه وب ایجاد می کند. این می تواند در بسیاری از انواع ویجت ها با جیوه مانند انتخاب ، متن ، کشویی ، دامنه ، کادر انتخاب و غیره استفاده شود.

---عنوان: Finanalyzerنویسنده: نوحتوضیحات: برنامه تجزیه و تحلیل فنی برای داده های مالینمایش کد: نادرستپارامترها:بلیط:متن ورودیبرچسب: بلیط مالی یاهومقدار: "^GSPC"ردیف: 1سال:ورودی: دامنهبرچسب: محدوده داده سال را انتخاب کنیدمقدار: [2020،2022]حداقل: 2017حداکثر: 2022آخرین روزها:ورودی: کشوییبرچسب: آخرین روز برای نمودار شمعدان را انتخاب کنیدارزش: 30حداقل: 7حداکثر: 200MA_7D:برچسب: 7 روز در حال حرکت به طور متوسطورودی: کادر انتخابارزش: درست استma_14d:برچسب: 14 روز در حال حرکت به طور متوسطورودی: کادر انتخابارزش: درست استma_21d:برچسب: 21 روز حرکت میانگینورودی: کادر انتخابارزش: درست استشاخص ها:برچسب: شاخص های مالی را انتخاب کنیدورودی: انتخاب کنیدمقدار: [MACD ، RSI]گزینه ها: [MACD ، RSI ، Volume]Multi: درست است---

سلول خام ابزارک های زیر را ایجاد می کند.

مرحله 2. متغیر را اختصاص دهید-ما باید متغیرهای مشابه را با سلول YAML خود ایجاد کنیم و مقادیر اول را اختصاص دهیم. در کد من ، مقادیر اول را در زیر سلول YAML اختصاص دادم.

بلیط = "^GSPC"سال = [2020،2022]ma_7d = درست استma_14d = درست استma_21d = درست استشاخص ها = ["MACD" ، "RSI"]آخرین روز = 30

مرحله 3. تست - برای آزمایش ، می توانیم از سرور محلی Mercury استفاده کنیم. کد زیر را اجرا کنید و https://127. 0. 0. 1:8000 را باز کنید ، مرورگر وب خود را آدرس دهید. شما می توانید نشان دهید که برنامه در سرور Mercury محلی در حال اجرا است.

هر بار که نوت بوک را به روز می کنید ، به طور خودکار در Mercury به روز می شود

مرحله 4. مستقر در Heroku Dyno - داشبورد آماده است ، بنابراین بگذارید آن را به هروکو مستقر کنیم.

من فرض می کنم که شما یک حساب Heroku و ابزار خط فرمان Heroku (CLI) نصب کرده اید. اما اگر آن را نصب نکردید ، می توانید اسناد را بررسی کنید.

بیایید وارد ابزار Heroku-Cli شویم:

 ورود هروکو

صفحه ورود به سیستم Heroku روی مرورگر پیش فرض شما باز خواهد شد و شما باید از این طریق وارد شوید.

پس از آن ، بیایید با اجرای برنامه یک برنامه Heroku ایجاد کنیم:

Heroku Finanalzer-Mercury را ایجاد کنید

در دایرکتوری پروژه ، شما باید از نام پروژه دیگری در دستور ایجاد استفاده کنید زیرا من این نام را گرفتم.

ما باید یک Procfile را به پروژه خود اضافه کنیم:

وب: Mercury Runserver 0. 0. 0. 0: $ Por t-Worker

بیایید متغیرهای محیط لازم (. ENV) را در Dyno تنظیم کنیم:

پیکربندی Heroku: set_hosts = fin-analyzer-mercury. herokuapp. comپیکربندی Heroku: serve_static = trueپیکربندی Heroku: تنظیم نوت بوک =*. ipynb

بیایید یک فایل setup. sh ایجاد کنیم و متغیرهای محیط را از طریق دستور زیر تنظیم کنیم:

پیکربندی Heroku: Set $ (Cat . env | sed ‘/^$/d ؛/#[[:print:]]*$/d’)

مخزن GitHub من نمونه ای برای شما است. پس از آنها ، شما آماده استقرار برنامه با اجرای برنامه هستید:

git فشار heroku main

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

فارکس پرشین...
ما را در سایت فارکس پرشین دنبال می کنید

برچسب : نویسنده : الیزابت امینی بازدید : <-PostHit-> تاريخ : سه شنبه 3 مرداد 1402 ساعت: 23:22