Kom igångKom igång gratis

Högfrekvent aktiekurs

Aktiedata med hög frekvens modelleras väl av en MA(1)-process, vilket gör det till ett passande tillämpningsexempel för modellerna i det här kapitlet.

DataFramen intraday innehåller en dags kurser (den 1 september 2017) för Sprint-aktien (tickersymbol "S"), samplade med en minuts intervall. Aktiemarknaden är öppen i 6,5 timmar (390 minuter), från klockan 09:30 till 16:00.

Innan du kan analysera tidsseriedata behöver du rensa upp den något, vilket du gör i den här och de närmaste två övningarna. När du tittar på de första raderna märker du flera saker. Först och främst saknas kolumnrubriker. Data är inte tidsstämplad från 09:30 till 16:00, utan löper från 0 till 390. Du märker också att det första datumet ser märkligt ut: "a1504272600". Siffran efter "a" är Unix-tid, det vill säga antalet sekunder sedan den 1 januari 1970. Det är så det här datasetet skiljer ut varje dags intradagdata.

Om du tittar på datatyperna ser du att kolumnen DATE är av typen object, vilket här innebär en sträng. Du behöver konvertera den till numerisk typ innan du kan hantera eventuellt saknad data.

Källan till minutdata är Google Finance (se här för information om hur data laddades ned).

Modulen datetime har redan importerats åt dig.

Den här övningen är en del av kursen

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Ändra det första datumet manuellt till noll med hjälp av .iloc[0,0].
  • Ändra de två kolumnrubrikerna till 'DATE' och 'CLOSE' genom att tilldela intraday.columns en lista med dessa två strängar.
  • Använd pandas-attributet .dtypes (utan parenteser) för att se vilken typ av data varje kolumn innehåller.
  • Konvertera kolumnen 'DATE' till numerisk typ med hjälp av pandas-funktionen to_numeric().
  • Gör kolumnen 'DATE' till det nya indexet för intraday med hjälp av pandas-metoden .set_index(), som tar strängen 'DATE' som argument (inte hela kolumnen, bara kolumnens namn).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 = ____
Redigera och kör kod