Dies ist mein erster Beitrag, und ich bin neu bei Python und Pandas. Ich habe daran gearbeitet, den untenstehenden Code zusammenzufassen, basierend auf vielen Fragen und Antworten, die ich auf dieser Website gesehen habe. Meine nächste Herausforderung ist die Anwendung eines Monatsend-Handelskalenders auf den unten stehenden Code, so dass die Ausgabe aus den "Adj Close" -Werten für die beiden ETFs mit der Bezeichnung "VTI und BND" besteht. Der "100mA" 100 Tage gleitende Durchschnitt muss immer noch basierend auf den letzten 100 Handelstagen berechnet werden.Anwenden eines Monatsenden-Handelskalenders auf Yahoo API-Daten
@rry Sheftel scheint etwas auf dieser Seite zu haben, die funktionieren würde, aber ich kann nicht scheinen, es mit meinem Code zu implementieren, um mir zu geben, was ich will.
Create trading holiday calendar with Pandas
Code I zusammen bisher gesetzt haben:
import datetime as dt #set start and end dates for data we are using
import pandas as pd
import numpy as np
import pandas_datareader.data as web # how I grab data from Yahoo Finance API. Pandas is popular data analysis library.
start = dt.datetime(2007,1,1)
end = dt.datetime(2017,2,18)
vti = web.DataReader('vti', 'yahoo',start, end)# data frame, stock ticker symbol, where getting from, start time, end time
bnd = web.DataReader('bnd', 'yahoo', start, end)
vti["100ma"] = vti["Adj Close"].rolling(window=100).mean()
bnd["100ma"] = bnd["Adj Close"].rolling(window=100).mean()
# Below I create a DataFrame consisting of the adjusted closing price of these stocks, first by making a list of these objects and using the join method
stocks = pd.DataFrame({'VTI': vti["Adj Close"],
'VTI 100ma': vti["100ma"],
'BND': bnd["Adj Close"],
'BND 100ma': bnd["100ma"],
})
print (stocks.head())
stocks.to_csv('Stock ETFs.csv')
Auf den ersten Blick dachte ich, das obige Skript gearbeitet . Ich habe dann festgestellt, dass der 31.05.2010 (Memorial Day) und der 29.03.2013 (Karfreitag) ohne Daten auftauchen, wenn ich den gesamten Datumsbereich exportiert habe. Kann jemand das innerhalb des oben von piRSquared bereitgestellten Codes beheben? – clamorte001