در بین بسیاری از مشکلات در امور مالی ، با سری زمانی شروع می شود. در اینجا ، ما نحوه تولید سری زمانی شبه تصادفی ، بارگیری سری زمانی واقعی بازار سهام را از تعدادی از ارائه دهندگان مشترک و چگونگی محاسبه اقدامات شباهت سری زمانی نشان می دهیم.
%منگولهدرون خطیاز جانب qiskit_finance وارد كردن qiskitfinanceerror از جانب qiskit_finance. data_providers وارد كردن * وارد كردن زمان قرار وارد كردن matplotlib. pyplot as PLT از جانب pandas. Plotting وارد كردن Register_Matplotlib_converters Register_Matplotlib_converters()
داده ها = تصادفی( تیک تیک=["Ticker1", "Ticker2"], شروع=زمان قرار.زمان قرار(2016, 1, 1), پایان=زمان قرار.زمان قرار(2016, 1, 30), بذر=1, ) داده ها.اجرا کن()
پس از بارگیری داده ها ، می توانید انواع الگوریتم ها را در مورد آن ها برای جمع آوری داده ها اجرا کنید. نکته قابل توجه ، شما می توانید ماتریس کواریانس یا یک نوع را محاسبه کنید ، که می تواند اقدامات شباهت سری زمانی جایگزین را بر اساس پیچ و تاب زمان پویا (DTW) در نظر بگیرد. در DTW ، تغییراتی که در سرعت متفاوت است ، به عنوان مثال ، قیمت سهام پس از قیمت سهام دیگر با تأخیر اندک ، می تواند در آن قرار بگیرد.
به معنای = داده ها.get_mean_veector() چاپ("به معنای:") چاپ(به معنای) ریو = داده ها.get_similarity_matrix() چاپ("اندازه گیری شباهت سری:") چاپ(ریو) PLT.درز(ریو) PLT.نشان دادن() قوچ = داده ها.get_covariance_matrix() چاپ("یک ماتریس کواریانس:") چاپ(قوچ) PLT.درز(قوچ) PLT.نشان دادن() معنی: [33. 97683271 97. 61130683] اندازه گیری شباهت سری زمانی: [[1. 00000000E+00 5. 41888011E-04] [5. 41888011E-04 1. 00000000E+00]]

یک ماتریس کواریانس: [[2. 08413157 0. 20842107] [0. 20842107 1. 99542187]]

در صورت تمایل ، می توانید با استفاده از سریال های شبه تصادفی زیربنایی استفاده کنید. لطفاً توجه داشته باشید که اعضای کلاس خصوصی (با شروع کار) ممکن است در نسخه های بعدی QISKIT تغییر کنند.
چاپ("تکامل اساسی قیمت سهام:") برای (CNT, s) in شمارش کردن(داده ها._tickers): PLT.طرح(داده ها._داده ها[CNT], برچسب=s) PLT.افسانه() PLT.xTicks(چرخش=90) PLT.نشان دادن() برای (CNT, s) in شمارش کردن(داده ها._tickers): چاپ(s) چاپ(داده ها._داده ها[CNT]) تکامل اساسی قیمت سهام:

96. 16544560691977 ، 97. 0566125612021 ، 97. 377460865656867 ، 96. 55923063837835 ، 97. 29082922216379 ، 96. 7894444444444444444444444444444444444444444444444444444444444290 96. 59681610510728 ، 97. 51128330823606 ، 97. 49121985362058]
واضح است که می توانید تعداد و نام تیک ها و دامنه تاریخ را تطبیق دهید:
داده ها = تصادفی( تیک تیک=["شرکت", "شرکت", "شرکت"], شروع=زمان قرار.زمان قرار(2015, 1, 1), پایان=زمان قرار.زمان قرار(2016, 1, 30), بذر=1, ) داده ها.اجرا کن() برای (CNT, s) in شمارش کردن(داده ها._tickers): PLT.طرح(داده ها._داده ها[CNT], برچسب=s) PLT.افسانه() PLT.xTicks(چرخش=90) PLT.نشان دادن()

دسترسی به سری زمان بسته بندی قیمت
در حالی که دسترسی به داده های زمان واقعی معمولاً نیاز به پرداخت دارد ، امکان دسترسی به قیمت های بسته شده تاریخی (تنظیم شده) از طریق ویکی پدیا و پیوند داده NASDAQ به صورت رایگان ، به دنبال ثبت نام در: https://data. nasdaq. com/sign-در کد زیر ، باید تیک های واقعی مسائل واقعی NASDAQ و نشانه دسترسی که از پیوند داده NASDAQ به دست می آورید ، مشخص شود. با اجرای کد زیر ، شما با شرایط و ضوابط پیوند داده NASDAQ موافقت می کنید ، از جمله چشم پوشی از مسئولیت. توجه کنید که برای محاسبه ماتریس های کواریانس و سری زمانی حداقل دو تیک مورد نیاز است ، اما صدها تیک ممکن است فراتر از حد استفاده منصفانه پیوند داده NASDAQ باشد.
سهام = ["گوگ", "AAPL"] نشانه = "جایگزین من" if نشانه != "جایگزین من": تلاش كردن: ویکی = ویکی پدیاداتاپروایدر( نشانه=نشانه, تیک تیک=سهام, شروع=زمان قرار.زمان قرار(2016, 1, 1), پایان=زمان قرار.زمان قرار(2016, 1, 30), ) ویکی.اجرا کن() بجز qiskitfinanceerror as ex: چاپ(ex) چاپ("خطای بازیابی داده ها.") پس از بارگیری داده ها ، می توانید مجدداً ماتریس کواریانس یا انواع DTW آن را محاسبه کنید.
if نشانه != "جایگزین من": if ویکی._داده ها: if ویکی._n 1: چاپ( "داده های ویکی کافی برای ترسیم همبستگی کواریانس یا سری زمانی نیست. لطفاً حداقل از دو تیک استفاده کنید." ) دیگر: ریو = ویکی.get_similarity_matrix() چاپ("اندازه گیری شباهت سری:") چاپ(ریو) PLT.درز(ریو) PLT.نشان دادن() قوچ = ویکی.get_covariance_matrix() چاپ("یک ماتریس کواریانس:") چاپ(قوچ) PLT.درز(قوچ) PLT.نشان دادن() دیگر: چاپ("هیچ داده ویکی بارگذاری نشده است.") در صورت تمایل ، می توانید با استفاده از سریال های اصلی با استفاده از:
if نشانه != "جایگزین من": if ویکی._داده ها: چاپ("تکامل اساسی قیمت سهام:") برای (CNT, s) in شمارش کردن(سهام): PLT.طرح(ویکی._داده ها[CNT], برچسب=s) PLT.افسانه() PLT.xTicks(چرخش=90) PLT.نشان دادن() برای (CNT, s) in شمارش کردن(سهام): چاپ(s) چاپ(ویکی._داده ها[CNT]) دیگر: چاپ("هیچ داده ویکی بارگذاری نشده است.") [اختیاری] نشانه تنظیم برای دسترسی به سری زمانی اخیر و ریز دانه
اگر می خواهید داده های حرفه ای را بارگیری کنید ، باید یک نشانه را با یکی از ارائه دهندگان اصلی تنظیم کنید. بگذارید اکنون داده ها را با داده های NASDAQ در صورت تقاضا نشان دهیم ، که می تواند پیشنهاد را در وضوح خودسرانه و همچنین مصالح مانند قیمت های بسته بندی تنظیم شده روزانه ، برای مسائل NASDAQ و NYSE ارائه دهد.
اگر داده های NASDAQ را در مورد مجوز تقاضا ندارید ، می توانید با NASDAQ (به شماره https://business. nasdaq. com/intel/gis/nasdaq-data-on-demand. html) تماس بگیرید تا یک آزمایش یا مجوز پرداخت شده دریافت کنیدبشر
اگر و در صورت دسترسی به داده های NASDAQ در صورت تقاضا با استفاده از نشانه خود ، باید جایگزین ME را در زیر با Token جایگزین کنید. برای اطمینان از امنیت اتصال ، شما همچنین باید وسایل خود را برای اعتبارسنجی گواهینامه های NASDAQ داشته باشید. سازنده DataOndEmandProvider دارای یک آرگومان اختیاری است که می تواند هیچ یک یا یک رشته یا بولی باشد. اگر هیچ کدام نباشد ، از گواهینامه های گواهینامه استفاده می شود (پیش فرض). اگر تأیید یک رشته باشد ، باید به گواهی اتصال HTTPS به NASDAQ (DataOndemand. Nasdaq. com) اشاره کند ، یا به صورت یک پرونده CA_Bundle یا یک دایرکتوری که در آن نگاه کنید.
نشانه = "جایگزین من" if نشانه != "جایگزین من": تلاش كردن: نیل = dataOndemandProvider( نشانه=نشانه, تیک تیک=["گوگ", "AAPL"], شروع=زمان قرار.زمان قرار(2016, 1, 1), پایان=زمان قرار.زمان قرار(2016, 1, 2), ) نیل.اجرا کن() برای (CNT, s) in شمارش کردن(نیل._tickers): PLT.طرح(نیل._داده ها[CNT], برچسب=s) PLT.افسانه() PLT.xTicks(چرخش=90) PLT.نشان دادن() بجز qiskitfinanceerror as ex: چاپ(ex) چاپ("خطای بازیابی داده ها.") یکی دیگر از فروشندگان اصلی داده های بورس اوراق بهادار داده های بین المللی (EDI) است که از API آن می توان برای پرس و جو بیش از 100 بازارهای نوظهور و مرزی که آفریقا ، آسیا ، خاور دور ، آمریکای لاتین و خاورمیانه و همچنین موارد مستقل تر استفاده می شود ، استفاده شود. بشربرای بررسی کلی از پوشش ، به آدرس: https://www. exchange-data. com/ مراجعه کنید.
دسترسی دوباره به یک نشانه دسترسی معتبر نیاز دارد تا جایگزین ME را در زیر جایگزین کند. این نشانه را می توان به صورت محاکمه یا پرداخت هزینه در: https://data. nasdaq. com/sign-up بدست آورد
نشانه = "جایگزین من" if نشانه != "جایگزین من": تلاش كردن: lse = رد مبادله( نشانه=نشانه, تیک تیک=["aeo", "ابی", "آدیگ", "ABF", "AEP", "AAL", "AGK", "AFN", "AAS", "AEFS"], بازوی=بازوی.لندن, شروع=زمان قرار.زمان قرار(2018, 1, 1), پایان=زمان قرار.زمان قرار(2018, 12, 31), ) lse.اجرا کن() برای (CNT, s) in شمارش کردن(lse._tickers): PLT.طرح(lse._داده ها[CNT], برچسب=s) PLT.افسانه() PLT.xTicks(چرخش=90) PLT.نشان دادن() بجز qiskitfinanceerror as ex: چاپ(ex) چاپ("خطای بازیابی داده ها.") همچنین می توان به داده های مالی یاهو ، بدون نیاز به نشانه ، از Yahoo! دسترسی پیدا کرد. دارایی، مالیه، سرمایه گذاری.
تلاش كردن: داده ها = یاهوداتاپروایدر( تیک تیک=["MSFT", "AAPL", "گوگ"], شروع=زمان قرار.زمان قرار(2021, 1, 1), پایان=زمان قرار.زمان قرار(2021, 12, 31), ) داده ها.اجرا کن() برای (CNT, s) in شمارش کردن(داده ها._tickers): PLT.طرح(داده ها._داده ها[CNT], برچسب=s) PLT.افسانه(محل="مرکز فوقانی", bbox_to_anchor=(0.5, 1.1), NCOL=3) PLT.xTicks(چرخش=90) PLT.نشان دادن() بجز qiskitfinanceerror as ex: داده ها = هیچ یک چاپ(ex)

برای استفاده واقعی از داده ها ، لطفاً به نوت بوک های Portfolio_Optimization یا Portfolio_Diversification مراجعه کنید.
وارد كردن qiskit. tools. jupyter %qiskit_version_table %qiskit_copyright
اطلاعات نسخه
| نرم افزار Qiskit | نسخه |
| qiskit-terra | 0. 23. 3 |
| qiskit-aer | 0. 12. 0 |
| کیسکیت-مالی | 0. 3. 4 |
| بهینه سازی | 0. 5. 0 |
| اطلاعات سیستم |
| نسخه پایتون | 3. 8. 16 |
| کامپایلر | GCC 11. 3. 0 |
| ساخت پایتون | پیش فرض ، 11 ژانویه 2023 00:28:51 |
| OS | لینوکس |
| CPU | 2 |
| حافظه (GB) | 6. 781211853027344 |
| جمعه 21 آوریل 19:22:50 2023 UTC |
این کد بخشی از Qiskit است
© کپی رایت IBM 2017 ، 2023.
این کد تحت مجوز Apache ، نسخه 2. 0 مجوز دارد. شما می توانید یک نسخه از این مجوز را در پرونده مجوز. txt در فهرست اصلی این درخت منبع یا در http://www. apache. org/licenses/license-2. 0 بدست آورید.
هرگونه اصلاح یا آثار مشتق این کد باید این اعلامیه حق چاپ را حفظ کند ، و پرونده های اصلاح شده باید یک اخطار را انجام دهند که نشان می دهد آنها از اصل تغییر یافته اند.
ویدیو های آموزشی فارکس...
ما را در سایت ویدیو های آموزشی فارکس دنبال می کنید
برچسب :
نویسنده : محبوب امانی
بازدید : 38
تاريخ : چهارشنبه
18 مرداد
1402 ساعت: 14:02