### محدودیتها
+ **محدودیت زمان:** ۱ ثانیه
+ **محدودیت حافظه:** ۲۵۶ مگابایت
# شبیهسازی استراتژی معاملاتی مبتنی بر میانگین متحرک
مدیر تیم تحلیل مالی تصمیم گرفته است تا یک **استراتژی معاملاتی مبتنی بر میانگین متحرک** را بر روی دادههای سهام **TechX** شبیهسازی کند. این استراتژی بر اساس دو شاخص میانگین متحرک پیادهسازی میشود:
+ **میانگین متحرک کوتاهمدت (۵ روزه - 5-SMA):**
این شاخص با محاسبه میانگین قیمت بسته طی **۵ روز متوالی**، نوسانات کوتاهمدت را نشان میدهد.
+ **میانگین متحرک بلندمدت (۲۰ روزه - 20-SMA):**
این شاخص روند کلی قیمتها را در یک بازه زمانی **طولانیتر** مشخص میکند.
## قوانین استراتژی
۱. **سیگنال خرید:**
اگر در یک روز، میانگین متحرک ۵ روزه از **پایین به بالای** میانگین متحرک ۲۰ روزه عبور کند، **سیگنال خرید** صادر میشود.
یعنی:
۲. **سیگنال فروش:**
اگر در یک روز، میانگین متحرک ۵ روزه از **بالای میانگین متحرک ۲۰ روزه به زیر آن** برگردد، **سیگنال فروش** صادر میشود.
یعنی:
## جزئیات شبیهسازی
+ سرمایه اولیه: **۱۰,۰۰۰ دلار**
+ هنگام دریافت **سیگنال خرید** (و اگر موقعیتی باز نباشد)، کل سرمایه به قیمت بستهی همان روز **خریداری** میشود.
+ هنگام دریافت **سیگنال فروش** (و اگر موقعیتی باز باشد)، تمام سهمها به قیمت بسته همان روز **فروخته** میشوند.
+ در پایان دوره، اگر هنوز موقعیتی باز باقی مانده باشد، **سهمهای باقیمانده با آخرین قیمت بسته نقد میشوند**.
+ خروجی نهایی، **ارزش نهایی پرتفوی** است که باید **با دقت دو رقم اعشار** نمایش داده شود.
## فرمت ورودی
ورودی از طریق **`STDIN`** دریافت میشود.
+ خط اول شامل **عنوان (header)** دادههای CSV است.
+ هر خط بعدی شامل **پنج فیلد** به ترتیب زیر است:
| ستون | توضیح |
| ------- | ------------------------ |
| `Date` | تاریخ (فرمت: YYYY-MM-DD) |
| `Open` | قیمت باز شدن |
| `High` | بیشترین قیمت روز |
| `Low` | کمترین قیمت روز |
| `Close` | قیمت بسته شدن |
## فرمت خروجی
خروجی شامل **یک عدد** است که نشاندهنده **ارزش نهایی پرتفوی (به دلار)** است. این مقدار باید **با دقت دو رقم اعشار** نمایش داده شود.
## مثال
### **ورودی نمونه**
در ابتدا از کاربر خواسته میشود که تعداد سطرها را وارد کند:
```
21
```
سپس 21 سطر داده به شکل زیر وارد میشود:
```
2025-01-01,55,55,55,55
2025-01-02,55,55,55,55
2025-01-03,55,55,55,55
2025-01-04,55,55,55,55
2025-01-05,55,55,55,55
2025-01-06,55,55,55,55
2025-01-07,55,55,55,55
2025-01-08,55,55,55,55
2025-01-09,55,55,55,55
2025-01-10,55,55,55,55
2025-01-11,55,55,55,55
2025-01-12,55,55,55,55
2025-01-13,55,55,55,55
2025-01-14,55,55,55,55
2025-01-15,45,45,45,45
2025-01-16,45,45,45,45
2025-01-17,45,45,45,45
2025-01-18,45,45,45,45
2025-01-19,45,45,45,45
2025-01-20,100,100,100,100
2025-01-21,30,30,30,30
```
### **توضیح نمونه**
#### **محاسبه میانگین متحرک**
##### **روز ۱۹ (۲۰۲۵-۰۱-۱۹)**
+ 5-SMA = **(45+45+45+45+45) / 5 = 45**
+ 20-SMA ≈ **52.37**
+ چون **5-SMA < 20-SMA** → **هیچ سیگنال خریدی صادر نمیشود**.
##### **روز ۲۰ (۲۰۲۵-۰۱-۲۰)**
+ 5-SMA = **(45+45+45+45+100) / 5 = 56**
+ 20-SMA = **54.75**
+ چون **5-SMA** از **20-SMA** **عبور کرده است** → **سیگنال خرید** صادر میشود.
+ با ۱۰,۰۰۰ دلار و قیمت بسته ۱۰۰ دلار، تعداد سهم خریداری شده:
```
10,000 / 100 = 100 سهم
```
##### **روز ۲۱ (۲۰۲۵-۰۱-۲۱)**
+ 5-SMA = **(45+45+45+100+30) / 5 = 53**
+ 20-SMA ≈ **53.57**
+ چون **5-SMA < 20-SMA** → **سیگنال فروش** صادر میشود.
+ با فروش ۱۰۰ سهم به قیمت بسته ۳۰ دلار، سرمایه نهایی:
```
100 × 30 = 3,000 دلار
```
### **خروجی نمونه**
```
3000.00
```
سوال پنج
محدودیتها🔗
- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
شبیهسازی استراتژی معاملاتی مبتنی بر میانگین متحرک🔗
مدیر تیم تحلیل مالی تصمیم گرفته است تا یک استراتژی معاملاتی مبتنی بر میانگین متحرک را بر روی دادههای سهام TechX شبیهسازی کند. این استراتژی بر اساس دو شاخص میانگین متحرک پیادهسازی میشود:
میانگین متحرک کوتاهمدت (۵ روزه - 5-SMA):
این شاخص با محاسبه میانگین قیمت بسته طی ۵ روز متوالی، نوسانات کوتاهمدت را نشان میدهد.
میانگین متحرک بلندمدت (۲۰ روزه - 20-SMA):
این شاخص روند کلی قیمتها را در یک بازه زمانی طولانیتر مشخص میکند.
قوانین استراتژی🔗
۱. سیگنال خرید:
اگر در یک روز، میانگین متحرک ۵ روزه از پایین به بالای میانگین متحرک ۲۰ روزه عبور کند، سیگنال خرید صادر میشود.
یعنی:
۲. سیگنال فروش:
اگر در یک روز، میانگین متحرک ۵ روزه از بالای میانگین متحرک ۲۰ روزه به زیر آن برگردد، سیگنال فروش صادر میشود.
یعنی:
جزئیات شبیهسازی🔗
- سرمایه اولیه: ۱۰,۰۰۰ دلار
- هنگام دریافت سیگنال خرید (و اگر موقعیتی باز نباشد)، کل سرمایه به قیمت بستهی همان روز خریداری میشود.
- هنگام دریافت سیگنال فروش (و اگر موقعیتی باز باشد)، تمام سهمها به قیمت بسته همان روز فروخته میشوند.
- در پایان دوره، اگر هنوز موقعیتی باز باقی مانده باشد، سهمهای باقیمانده با آخرین قیمت بسته نقد میشوند.
- خروجی نهایی، ارزش نهایی پرتفوی است که باید با دقت دو رقم اعشار نمایش داده شود.
فرمت ورودی🔗
ورودی از طریق STDIN
دریافت میشود.
- خط اول شامل عنوان (header) دادههای CSV است.
- هر خط بعدی شامل پنج فیلد به ترتیب زیر است:
ستون |
توضیح |
Date |
تاریخ (فرمت: YYYY-MM-DD) |
Open |
قیمت باز شدن |
High |
بیشترین قیمت روز |
Low |
کمترین قیمت روز |
Close |
قیمت بسته شدن |
فرمت خروجی🔗
خروجی شامل یک عدد است که نشاندهنده ارزش نهایی پرتفوی (به دلار) است. این مقدار باید با دقت دو رقم اعشار نمایش داده شود.
مثال🔗
ورودی نمونه🔗
در ابتدا از کاربر خواسته میشود که تعداد سطرها را وارد کند:
سپس 21 سطر داده به شکل زیر وارد میشود:
2025-01-01,55,55,55,55
2025-01-02,55,55,55,55
2025-01-03,55,55,55,55
2025-01-04,55,55,55,55
2025-01-05,55,55,55,55
2025-01-06,55,55,55,55
2025-01-07,55,55,55,55
2025-01-08,55,55,55,55
2025-01-09,55,55,55,55
2025-01-10,55,55,55,55
2025-01-11,55,55,55,55
2025-01-12,55,55,55,55
2025-01-13,55,55,55,55
2025-01-14,55,55,55,55
2025-01-15,45,45,45,45
2025-01-16,45,45,45,45
2025-01-17,45,45,45,45
2025-01-18,45,45,45,45
2025-01-19,45,45,45,45
2025-01-20,100,100,100,100
2025-01-21,30,30,30,30
توضیح نمونه🔗
محاسبه میانگین متحرک🔗
روز ۱۹ (۲۰۲۵-۰۱-۱۹)🔗
- 5-SMA = (45+45+45+45+45) / 5 = 45
- 20-SMA ≈ 52.37
- چون 5-SMA < 20-SMA → هیچ سیگنال خریدی صادر نمیشود.
روز ۲۰ (۲۰۲۵-۰۱-۲۰)🔗
روز ۲۱ (۲۰۲۵-۰۱-۲۱)🔗
خروجی نمونه🔗
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.