ÎncepețiÎncepe gratuit

Prețuri bursiere de înaltă frecvență

Datele bursiere de înaltă frecvență sunt bine modelate printr-un proces MA(1), ceea ce le face o aplicație potrivită pentru modelele din acest capitol.

DataFrame-ul intraday conține prețurile din cursul unei zile (1 septembrie 2017) pentru acțiunile Sprint (simbolul bursier „S"), eșantionate la un interval de un minut. Bursa este deschisă timp de 6,5 ore (390 de minute), între orele 9:30 și 16:00.

Înainte de a analiza datele de tip serie de timp, va trebui să le preprocesezi puțin — lucru pe care îl vei face în acest exercițiu și în următoarele două. Când te uiți la primele rânduri, vei observa câteva lucruri. În primul rând, nu există anteturi de coloană. Datele nu sunt marcate temporal de la 9:30 la 16:00, ci merg de la 0 la 390. De asemenea, vei observa că prima dată are forma ciudată „a1504272600". Numărul de după „a" reprezintă timpul Unix, adică numărul de secunde scurse de la 1 ianuarie 1970. Astfel separă acest set de date fiecare zi de date intraday.

Dacă te uiți la tipurile de date, vei observa că și coloana DATE este de tip obiect, ceea ce înseamnă că este un șir de caractere. Va trebui să o convertești la tip numeric înainte de a putea gestiona valorile lipsă.

Sursa datelor la minut este Google Finance (vezi aici cum au fost descărcate datele).

Modulul datetime a fost deja importat pentru tine.

Acest exercițiu face parte din cursul

Analiza seriilor de timp în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Schimbă manual prima dată la zero folosind .iloc[0,0].
  • Schimbă cele două anteturi de coloană la 'DATE' și 'CLOSE' setând intraday.columns egal cu o listă care conține acele două șiruri de caractere.
  • Folosește atributul pandas .dtypes (fără paranteze) pentru a vedea ce tip de date se află în fiecare coloană.
  • Convertește coloana 'DATE' la tip numeric folosind funcția pandas to_numeric().
  • Fă din coloana 'DATE' noul index al intraday folosind metoda pandas .set_index(), căreia îi vei transmite șirul 'DATE' ca argument (nu întreaga coloană, ci doar numele coloanei).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# import datetime module
import datetime

# Change the first date to zero
intraday.___ = 0

# Change the column headers to 'DATE' and 'CLOSE'
intraday.columns = ___

# Examine the data types for each column
print(intraday.dtypes)

# Convert DATE column to numeric
intraday['DATE'] = pd.to_numeric(____)

# Make the `DATE` column the new index
intraday = ____
Editează și rulează codul