@Channelchan
2018-10-20T13:02:59.000000Z
字数 4690
阅读 7258
1.导入模块
2.选择数据类型
3.将数据转换格式
4.改变数据名称
5.设置新的索引
symbol
为品种.
count
为返回的蜡烛数,如果没有指定,数量将默认为500,最大可接受值数是5000。
candleFormat
为可选的蜡烛参数表示,“midpoint” - 基于中点的参数。“bidask” - 基于买/卖的参数,如果未指定candleFormat参数,candleFormat的默认值为“bidask”。
granularity
为可选每个参数表示的时间范围。
秒可选为S5、S10、S15、S30、M1;
分钟可选为M2、M3、M4、M5、M10、M15、M30、H1;
小时可选为H2、H3、H4、H6、H8、H12、D.
其中D为1day,W为1week,M为1month.
url
中自行修改start的时间,其中T15
为15点,表示收集当天15点以后的数据。
获取数据后,再将数据转换为dataframe的格式。
若收集一定区间的数据,在末端加上&end=
import requests
import json
import pandas as pd
symbol = 'XAU_USD'
count = '50'
candleFormat = 'midpoint'
granularity = 'H1'
url = "https://api-fxtrade.oanda.com/v1/candles?instrument=%s&count=%s&candleFormat=%s&granularity=%s&start=2018-10-15T15"\
%(symbol,count,candleFormat,granularity)
response = requests.get(url)
doc=json.loads(response.content)
data = pd.DataFrame(doc["candles"])
data["datetime"] = data["time"].apply(pd.to_datetime)
delMid = {"closeMid": 'close', "highMid":'high', 'lowMid':'low', 'openMid':'open'}
data.rename_axis(delMid,1).set_index('datetime')
close | complete | high | low | open | time | volume | |
---|---|---|---|---|---|---|---|
datetime | |||||||
2018-10-15 15:00:00 | 1228.3030 | True | 1228.9760 | 1226.1600 | 1228.3865 | 2018-10-15T15:00:00.000000Z | 2963 |
2018-10-15 16:00:00 | 1227.0490 | True | 1228.9860 | 1226.2720 | 1228.2020 | 2018-10-15T16:00:00.000000Z | 1863 |
2018-10-15 17:00:00 | 1225.6760 | True | 1227.3430 | 1224.9960 | 1227.0045 | 2018-10-15T17:00:00.000000Z | 1512 |
2018-10-15 18:00:00 | 1226.0790 | True | 1227.2200 | 1225.0320 | 1225.5595 | 2018-10-15T18:00:00.000000Z | 1224 |
2018-10-15 19:00:00 | 1225.4800 | True | 1226.9960 | 1224.9320 | 1225.9790 | 2018-10-15T19:00:00.000000Z | 958 |
2018-10-15 20:00:00 | 1227.0040 | True | 1227.5160 | 1225.3980 | 1225.4385 | 2018-10-15T20:00:00.000000Z | 490 |
2018-10-15 22:00:00 | 1227.7310 | True | 1227.7620 | 1226.9310 | 1227.1385 | 2018-10-15T22:00:00.000000Z | 274 |
2018-10-15 23:00:00 | 1226.8705 | True | 1227.8490 | 1226.7980 | 1227.8450 | 2018-10-15T23:00:00.000000Z | 311 |
2018-10-16 00:00:00 | 1228.2735 | True | 1228.7040 | 1226.4830 | 1226.7570 | 2018-10-16T00:00:00.000000Z | 816 |
2018-10-16 01:00:00 | 1228.0805 | True | 1228.6700 | 1227.6300 | 1228.3765 | 2018-10-16T01:00:00.000000Z | 847 |
2018-10-16 02:00:00 | 1226.0145 | True | 1228.0770 | 1225.6870 | 1227.9865 | 2018-10-16T02:00:00.000000Z | 1174 |
2018-10-16 03:00:00 | 1226.6410 | True | 1226.7410 | 1225.5200 | 1225.9730 | 2018-10-16T03:00:00.000000Z | 608 |
2018-10-16 04:00:00 | 1226.0050 | True | 1226.7100 | 1225.8285 | 1226.5975 | 2018-10-16T04:00:00.000000Z | 396 |
2018-10-16 05:00:00 | 1225.5750 | True | 1226.4890 | 1225.1180 | 1225.9600 | 2018-10-16T05:00:00.000000Z | 642 |
2018-10-16 06:00:00 | 1226.4680 | True | 1227.9580 | 1225.4680 | 1225.6160 | 2018-10-16T06:00:00.000000Z | 1429 |
2018-10-16 07:00:00 | 1229.4660 | True | 1229.8920 | 1226.1660 | 1226.4800 | 2018-10-16T07:00:00.000000Z | 2174 |
2018-10-16 08:00:00 | 1228.8635 | True | 1230.3000 | 1228.7285 | 1229.3675 | 2018-10-16T08:00:00.000000Z | 1130 |
2018-10-16 09:00:00 | 1228.5110 | True | 1229.1860 | 1226.2870 | 1228.9065 | 2018-10-16T09:00:00.000000Z | 1488 |
2018-10-16 10:00:00 | 1229.6050 | True | 1230.1560 | 1227.9040 | 1228.5520 | 2018-10-16T10:00:00.000000Z | 1321 |
2018-10-16 11:00:00 | 1230.1090 | True | 1230.4190 | 1228.9220 | 1229.5140 | 2018-10-16T11:00:00.000000Z | 1157 |
2018-10-16 12:00:00 | 1230.2370 | True | 1232.4760 | 1228.2480 | 1230.2020 | 2018-10-16T12:00:00.000000Z | 2558 |
2018-10-16 13:00:00 | 1231.2450 | True | 1232.5380 | 1228.3200 | 1230.1945 | 2018-10-16T13:00:00.000000Z | 4052 |
2018-10-16 14:00:00 | 1228.9855 | True | 1231.4270 | 1228.8920 | 1231.2905 | 2018-10-16T14:00:00.000000Z | 2785 |
2018-10-16 15:00:00 | 1228.3590 | True | 1229.3225 | 1227.3780 | 1229.0275 | 2018-10-16T15:00:00.000000Z | 2066 |
2018-10-16 16:00:00 | 1228.4490 | True | 1229.0350 | 1228.1990 | 1228.4545 | 2018-10-16T16:00:00.000000Z | 940 |
2018-10-16 17:00:00 | 1226.1200 | True | 1229.1520 | 1225.8780 | 1228.4035 | 2018-10-16T17:00:00.000000Z | 1587 |
2018-10-16 18:00:00 | 1225.9080 | True | 1226.8030 | 1225.3980 | 1226.0730 | 2018-10-16T18:00:00.000000Z | 795 |
2018-10-16 19:00:00 | 1224.8665 | True | 1226.7880 | 1224.3550 | 1225.8600 | 2018-10-16T19:00:00.000000Z | 532 |
2018-10-16 20:00:00 | 1224.9235 | True | 1225.3680 | 1223.5080 | 1224.8225 | 2018-10-16T20:00:00.000000Z | 627 |
2018-10-16 22:00:00 | 1225.4665 | True | 1225.7320 | 1224.0390 | 1224.3415 | 2018-10-16T22:00:00.000000Z | 350 |
2018-10-16 23:00:00 | 1225.0595 | True | 1225.9770 | 1224.9790 | 1225.3655 | 2018-10-16T23:00:00.000000Z | 297 |
2018-10-17 00:00:00 | 1225.2670 | True | 1225.8820 | 1224.6020 | 1225.0150 | 2018-10-17T00:00:00.000000Z | 631 |
2018-10-17 01:00:00 | 1224.3930 | True | 1225.3080 | 1223.5840 | 1225.3080 | 2018-10-17T01:00:00.000000Z | 1004 |
2018-10-17 02:00:00 | 1222.5315 | True | 1224.4090 | 1222.0720 | 1224.3495 | 2018-10-17T02:00:00.000000Z | 771 |
2018-10-17 03:00:00 | 1221.9085 | True | 1222.6940 | 1221.6410 | 1222.5720 | 2018-10-17T03:00:00.000000Z | 511 |
2018-10-17 04:00:00 | 1222.0625 | True | 1222.7500 | 1221.7440 | 1222.0090 | 2018-10-17T04:00:00.000000Z | 361 |
2018-10-17 05:00:00 | 1222.7555 | True | 1223.1010 | 1220.6680 | 1222.1540 | 2018-10-17T05:00:00.000000Z | 753 |
2018-10-17 06:00:00 | 1223.5270 | True | 1223.7320 | 1222.3950 | 1222.6580 | 2018-10-17T06:00:00.000000Z | 897 |
2018-10-17 07:00:00 | 1221.9540 | True | 1224.0830 | 1221.8140 | 1223.4345 | 2018-10-17T07:00:00.000000Z | 1078 |
2018-10-17 08:00:00 | 1224.6725 | False | 1225.9060 | 1221.9640 | 1222.0525 | 2018-10-17T08:00:00.000000Z | 1693 |