v1.0.9
This commit is contained in:
parent
f18255ca24
commit
b2ce58b7e1
|
@ -49,11 +49,16 @@ def dukascopy(
|
||||||
]
|
]
|
||||||
return df
|
return df
|
||||||
|
|
||||||
def FX(instrument = "eurusd", startdate="01/01/2020", enddate = "01/01/2021", long=False):
|
|
||||||
|
def FX(instrument = "eurusd", startdate = "2019-01-01", enddate = "2021-01-01"):
|
||||||
|
startdate = datetime.strptime(startdate, "%Y-%m-%d").strftime("%m/%d/%y")
|
||||||
|
enddate = datetime.strptime(enddate, "%Y-%m-%d").strftime("%m/%d/%y")
|
||||||
|
df = pd.DataFrame()
|
||||||
|
|
||||||
|
def _FX(instrument = "eurusd", startdate = "01/01/2020", enddate = "01/01/2021"):
|
||||||
"""
|
"""
|
||||||
https://www.marketwatch.com/investing/
|
https://www.marketwatch.com/investing/
|
||||||
"""
|
"""
|
||||||
if long == False:
|
|
||||||
tmp_url = url["moneywatch"] + "currency/{}/downloaddatapartial".format(instrument)
|
tmp_url = url["moneywatch"] + "currency/{}/downloaddatapartial".format(instrument)
|
||||||
ua = UserAgent(verify_ssl=False)
|
ua = UserAgent(verify_ssl=False)
|
||||||
request_header = {"User-Agent": ua.random}
|
request_header = {"User-Agent": ua.random}
|
||||||
|
@ -74,43 +79,29 @@ def FX(instrument = "eurusd", startdate="01/01/2020", enddate = "01/01/2021", lo
|
||||||
|
|
||||||
df["Date"] = Date
|
df["Date"] = Date
|
||||||
return df
|
return df
|
||||||
else:
|
|
||||||
tmp_url = url["moneywatch"] + "currency/{}/downloaddatapartial".format(instrument)
|
|
||||||
ua = UserAgent(verify_ssl=False)
|
|
||||||
request_header = {"User-Agent": ua.random}
|
|
||||||
df = pd.DataFrame()
|
|
||||||
for i in range(int(startdate[6:10]), int(enddate[6:10])):
|
|
||||||
tmp_startdate = "01/01/" + str(i) + " 00:00:00"
|
|
||||||
if i+1 == int(enddate[6:10]):
|
|
||||||
tmp_enddate = enddate[0:6] + str((i+1)) + " 00:00:00"
|
|
||||||
else:
|
|
||||||
tmp_enddate = "01/01" + str((i+1)) + " 00:00:00"
|
|
||||||
request_params = urlencode({
|
|
||||||
"startdate": r"{}".format(tmp_startdate),
|
|
||||||
"enddate": r"{}".format(tmp_enddate),
|
|
||||||
"daterange": "d30",
|
|
||||||
"frequency": "p1d",
|
|
||||||
"csvdownload": "true",
|
|
||||||
"downloadpartial": "false",
|
|
||||||
"newdates": "false"}, quote_via= quote)
|
|
||||||
r = requests.get(tmp_url, params=request_params.replace("%2F", "/").replace("%20", " ").replace("%3A", ":"), headers=request_header)
|
|
||||||
data_text = r.content
|
|
||||||
tmp_df = pd.read_csv(io.StringIO(data_text.decode('utf-8')))
|
|
||||||
Date = []
|
|
||||||
for i in range(0, len(tmp_df)):
|
|
||||||
Date.append(datetime.strptime(tmp_df["Date"][i], "%m/%d/%Y"))
|
|
||||||
|
|
||||||
tmp_df["Date"] = Date
|
for i in range(int(startdate[6:10]), int(enddate[6:10])):
|
||||||
|
if i == int(startdate[6:10]):
|
||||||
|
tmp_startdate = startdate
|
||||||
|
else:
|
||||||
|
tmp_startdate = "01/01/" + str(i) + " 00:00:00"
|
||||||
|
if (i+1) == int(enddate[6:10]):
|
||||||
|
tmp_enddate = enddate
|
||||||
|
else:
|
||||||
|
tmp_enddate = "01/01/" + str(i+1) + " 00:00:00"
|
||||||
|
|
||||||
|
tmp_df = _FX(instrument=instrument, startdate = tmp_startdate, enddate = tmp_enddate)
|
||||||
if i == int(startdate[6:10]):
|
if i == int(startdate[6:10]):
|
||||||
df = tmp_df
|
df = tmp_df
|
||||||
else:
|
else:
|
||||||
df = pd.concat([tmp_df, df], axis=0)
|
df = pd.concat([tmp_df, df], axis=0)
|
||||||
|
|
||||||
df.reset_index(drop=True, inplace = True)
|
df = df.reset_index(drop = True)
|
||||||
return df
|
return df
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
data = dukascopy(instrument="eurusd",
|
data = dukascopy(instrument="eurusd",
|
||||||
startdate="2020-01-01",
|
startdate="2020-01-01",
|
||||||
|
|
Loading…
Reference in New Issue