| دادههای این سوال را میتوانید از [این لینک](/problemset/assignments/4367/download_problem_initial_project/197300/) دانلود کنید.|
| :--: |
در این سوال شما باید روند تغییرات قیمت یک رمز ارز خاص را با استفاده از اطلاعات داده شده در یک بازه زمانی مشخص پیشبینی کنید.
<details class="yellow">
<summary>
**بیشتر در مورد رمز ارزها**
</summary>
رمزارزها یا ارزهای دیجیتال تأثیرات فراوانی در دنیا ایجاد کردهاند. این اثرات شامل تغییر در سیستمهای مالی و سرمایهگذاری با ورود به بازار، ایجاد فرصتهای جدید در سیستمهای پرداخت و کاهش هزینهی تراکنشها، بهبود شفافیت مالی و مالیات، افزایش نوآوری در فناوری و ایجاد تأثیرات اجتماعی و اقتصادی در حوزههای مختلف است. با این وجود، ما باید به چالشها و تغییرات غیر قابل پیشبینی بازار رمزارزها نیز توجه داشته باشیم.
</details>
## مجموعهداده
در این سوال یک فایل `CSV` در اختیار شما قرار دادهایم که ستونهای دادههای آن به شرح زیر است:
| ستون | توضیحات |
|:------------------:|:------------------:|
| `Date` | تاریخ روز معاملاتی |
| `Open` | قیمت در آغاز روز معاملاتی (قیمت باز شدن سهم)|
| `High` | بالاترین قیمت سهم در روز معاملاتی|
| `Low` | پایینترین قیمت سهم در روز معاملاتی|
| `Close` | قیمت در پایان روز معاملاتی (قیمت بستهشدن سهم)|
| `Adj Close` | قیمت تعدیل شده در پایان روز معاملاتی (قیمت بستهشدن سهم)|
| `Volume` | حجم معاملات در روز معاملاتی|
| `target` | اعداد 2- ,1- ,0 ,1 ,2|
#### **توضیحات بیشتر برای ستون `target`**
+ اگر قیمت تعدیلشده در روز معاملاتی از روز قبلش 1% بیشتر باشد این ستون مقدار 2،
+ اگر 0.5% بیشتر باشد این ستون 1،
+ اگر از 0.5% روز قبلش کمتر باشد 1-،
+ اگر از 1% روز قبلش کمتر باشد 2- خواهد بود.
+ همچنین اگر تغییرات قیمت نسبت به روز قبل در هر جهتی از 0.5% کمتر باشد این ستون 0 خواهد بود.
از آنجایی که پیشبینی دقیق قیمت دشوار است، ما تنها از شما میخواهیم روند تغییر معاملات را در ستون `target` برای روزهای آینده پیشبینی کنید.
# خواسته نهایی
از شما میخواهیم ستون `target` را بر اساس اطلاعات روزهای قبل، برای ۳۶۵ روز معاملاتی بعد بهدست آورید.
# ارزیابی
برای ارزیابی مدل شما از معیار `F1 Score` استفاده میشود و مدل میانگینگیری نیز به صورت `Weighted` است.
<details class="red">
<summary>
**توجه**
</summary>
در طول مسابقه امتیازی که مشاهده میکنید، فقط نتیجهی `F1 Score` روی ۳۰ درصد از فایلی است که برای کوئرا آپلود میکنید. بعد از پایان زمان مسابقه، **امتیاز نهایی** شما روی ۷۰ درصد مابقی محاسبه میشود.
این کار به منظور جلوگیری از `overfitting` و حفظ عمومیت مدل انجام میشود تا مطمئن شویم مدلهایی که دچار بیشبرازش شدهاند، در امتیازهی نهایی، افت میکنند.
</details>
# خروجی
توجه کنید که خروجی این سوال باید یک فایل `submission.csv` شامل فقط یک ستون با نام `target` به شکل زیر باشد:
| target|
|:--------:|
| 0 |
| 1 |
| 0 |
| -1 |
| 2 |
<details class="yellow">
<summary>
**نکات مهم در مورد فایل ارسالی**
</summary>
+ **توجه ۱**: توجه کنید که ستون گفته شده حتما دارای `header` باشد.
+ **توجه ۲**: مراقب باشید در فایل نهایی اندیس ذخیره نشود و فقط یک ستون `target` باشد.
</details>
خروجی را در یک فایل با نام `submission.csv` ذخیره کرده و جهت داوری در سامانه آپلود کنید.
<details class="red">
<summary>
**هشدار**
</summary>
فراموش نکنید که **قبل از پایان زمان مسابقه**، **باید** تمامی کدهای این مسابقه را از قسمت **بارگذاری کُد** برای ما ارسال کنید. در غیر اینصورت، شما از این مسابقه، امتیازی کسب نمیکنید.
توجه داشته باشید که اگر از `jupter notebook` استفاده میکنید بایستی همانند توضیحات قسمت **بارگذاری کُد**، خروجی `.py` را دریافت و برای ارسال در نظر بگیرید. ارسال فایلهای `jupyter` همانند `.ipynb` مورد قبول نیستند.
</details>