Zeitreihen mit unterschiedlichen Daten mergen
Aktien- und Anleihemärkte in den USA sind an unterschiedlichen Tagen geschlossen. Zum Beispiel ist der Anleihemarkt am Columbus Day (um den 12. Oktober) und am Veterans Day (um den 11. November) geschlossen, während der Aktienmarkt an diesen Tagen geöffnet ist. Eine Möglichkeit, die Tage zu identifizieren, an denen der Aktienmarkt geöffnet und der Anleihemarkt geschlossen ist, besteht darin, beide Datumsindizes in Sets umzuwandeln und die Mengendifferenz zu bilden.
Die pandas-Methode .join() ist ein praktisches Werkzeug, um die DataFrames für Aktien und Anleihen an den Tagen zu mergen, an denen beide Märkte geöffnet sind.
Aktienkurse und Renditen 10-jähriger US-Staatsanleihen, die von FRED heruntergeladen wurden, sind in den DataFrames stocks und bonds vorab geladen.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in Python
Anleitung zur Übung
- Wandle die Daten in
stocks.indexundbonds.indexin Sets um. - Bilde die Differenz aus dem Aktien-Set minus dem Anleihe-Set, um die Daten zu erhalten, an denen der Aktienmarkt Daten hat, der Anleihemarkt jedoch nicht.
- Merge die beiden DataFrames mit der Methode
.join()in einen neuen DataFramestocks_and_bonds. Die Syntax lautetdf1.join(df2).- Um die Schnittmenge der Daten zu erhalten, verwende das Argument
how='inner'.
- Um die Schnittmenge der Daten zu erhalten, verwende das Argument
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import pandas
import pandas as pd
# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)
# Take the difference between the sets and print
print(set_stock_dates - ___)
# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___