-
Notifications
You must be signed in to change notification settings - Fork 85
/
IEX.h
81 lines (72 loc) · 2.83 KB
/
IEX.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef IEX_h
#define IEX_h
#include <json/json.h>
#include <curl/curl.h>
#include <locale> //std::locale, std::isdigit
#include <string>
#include <cassert>
#include <iostream>
#include <vector>
#include <algorithm>
#include <boost/algorithm/string.hpp>
#define IEX_ENDPOINT "https://api.iextrading.com/1.0"
namespace IEX {
void sendGetRequest(Json::Value &data, const std::string url);
bool isValidSymbol(const std::string &);
std::vector<std::string> getSymbolList();
void parseSymbolData(const Json::Value &, std::vector<std::string> &);
namespace stocks {
Json::Value batch(const std::string &);
Json::Value book(const std::string &);
Json::Value chart(const std::string &);
Json::Value chartRange(const std::string &, const std::string &);
Json::Value chartDate(const std::string &, const std::string &);
Json::Value chartDynamic(const std::string &);
Json::Value company(const std::string &);
Json::Value crypto();
Json::Value delayedQuote(const std::string &);
Json::Value dividends(const std::string &, const std::string &);
Json::Value earnings(const std::string &);
Json::Value earningsToday();
Json::Value effectiveSpread(const std::string &);
Json::Value financials(const std::string &);
Json::Value upcomingIPOS();
Json::Value todayIPOS();
Json::Value stats(const std::string &);
Json::Value largestTrades(const std::string &);
Json::Value list(const std::string &);
Json::Value logo(const std::string &);
Json::Value news(const std::string &, int last = 0);
Json::Value OHLC(const std::string &);
Json::Value peers(const std::string &);
Json::Value previous(const std::string &);
Json::Value price(const std::string &);
Json::Value quote(const std::string &, bool displayPercent = false);
Json::Value relevant(const std::string &);
Json::Value sectorPerformance();
Json::Value splits(const std::string &, const std::string &);
Json::Value relevant(const std::string &);
Json::Value timeSeries(const std::string &);
Json::Value VolumeByVenue(const std::string &);
}
namespace refData {
Json::Value symbols();
Json::Value corporateActions(std::string date = "");
Json::Value dividends(std::string date = "");
Json::Value nextDayExDate(std::string date = "");
Json::Value symbolDirectory(std::string date = "");
}
namespace marketData {
}
namespace stats {
Json::Value intraday();
Json::Value recent();
Json::Value records();
Json::Value historical(std::string date = "");
Json::Value historicalDaily(std::string date = "");
}
namespace markets {
Json::Value market();
}
}
#endif