Я загрузил акцию TESLA с сайта www.nasdaq.com; и после того, как я загрузил файл CSV, я понял, что мне нужно преобразовать CSV с помощью Microsoft Excel 2016. Я использую вкладку данных; и щелкните Текст в столбцы. Заголовок теперь понятен, это: дата, закрытие, объем, открытие, максимум, минимум. Пожалуйста, посмотрите файл csv здесь. LinK: https://drive.google.com/open?id=1cirQi47U4uumvgs14g6vOmgs / а>
Preview (The CSV data is from 02/02/2017 until 02/02/2018):
1. date | close | volume | open | high | low |
2. 02/02/2018 | 343.75 | 3696157 | 348.44 | 351.95 | 340.51|
3. 01/02/2018 | 349.25 | 4187440 | 351.00 | 359.66 | 348.63|
Для меня задача состоит в том, чтобы создать точку данных за каждый месяц как можно ближе к первому числу месяца. Я фильтрую в файле Excel, и это данные, которые я получаю.
- date | close
- 01/02/2018 | 349.25
- 02/01/2018 | 320.53
- 01/12/2017 | 306.53
- 01/11/2017 | 321.08
- 02/10/2017 | 341.53
- 01/09/2017 | 355.40
- 01/08/2017 | 319.57
- 03/07/2017 | 352.62
- 01/06/2017 | 340.37
- 01/05/2017 | 322.83
- 03/04/2017 | 298.52
- 01/03/2017 | 250.02
- 02/02/2017 | 251.55
Если я создаю точку данных, она становится такой, которая нужна для создания графика. Отображение графика исходных данных и «сглаженных данных» с простым экспоненциальным сглаживанием или иногда это называется однократным экспоненциальным сглаживанием. Это больше о прогнозировании временных рядов, в котором используется python-ggplot.
- x | y
- 01/02/2018 | 349.25
- 02/01/2018 | 320.53
- 01/12/2017 | 306.53
- 01/11/2017 | 321.08
- 02/10/2017 | 341.53
- 01/09/2017 | 355.40
- 01/08/2017 | 319.57
- 03/07/2017 | 352.62
- 01/06/2017 | 340.37
- 01/05/2017 | 322.83
- 03/04/2017 | 298.52
- 01/03/2017 | 250.02
- 02/02/2017 | 251.55
Программа на Python, которую я написал:
# -*- coding: utf-8 -*-
"""
Created on Sat Feb 3 13:20:28 2018
@author: johannesbambang
"""
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
my_data = pd.read_csv('C:\TESLA Exponential Smoothing\TSLA.csv',dayfirst=True,index_col=0)
my_data.plot()
plt.show()
Мой вопрос в том, что мне следует улучшить в моей программе на Python? Любая помощь будет отличной. Заранее спасибо.