-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
57 lines (47 loc) · 1.67 KB
/
main.py
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
from datetime import datetime
from dateutil.relativedelta import relativedelta
import configparser
import csv
import logging
import yfinance as yf
CONFIG = configparser.ConfigParser()
CONFIG.read('config/local.ini')
def fetch_cryptos_1d_price():
"""Return nothing."""
CRYPTO_LIST_PATH = CONFIG.get('CRYPTO', 'LIST_PATH')
FILE_ENCODING = CONFIG.get('FILE', 'ENCODING')
MAIN_GET_MAX_NUMBER_OF_YEAR_DATA = CONFIG.get('MAIN', 'GET_MAX_NUMBER_OF_YEAR_DATA')
CRYPTO_PATH_1D = CONFIG.get('CRYPTO', 'PATH_1D')
pass_years = datetime.now() - relativedelta(years=int(MAIN_GET_MAX_NUMBER_OF_YEAR_DATA))
pass_years = pass_years.strftime('%Y-%m-%d')
ticker_list = []
with open(CRYPTO_LIST_PATH, newline='', encoding=FILE_ENCODING) as file:
list = csv.reader(file)
next(list)
for ticker in list:
ticker_list.append(ticker[0].replace(".", "-"))
data = yf.download(
tickers=ticker_list,
period=MAIN_GET_MAX_NUMBER_OF_YEAR_DATA + 'y',
interval='1d',
group_by='ticker',
auto_adjust=False,
prepost=False,
threads=True,
proxy=None
)
data = data.T
data = data.sort_index()
for ticker in ticker_list:
data.loc[(ticker,), ].T.to_csv(CRYPTO_PATH_1D + ticker + '-1d.csv', sep=',', encoding='utf-8')
def main():
LOGGING_MAIN_PATH = CONFIG.get('LOGGING', 'MAIN_PATH')
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
datefmt='%Y-%m-%d %H:%M',
handlers=[logging.FileHandler(LOGGING_MAIN_PATH, 'w', 'utf-8'), ]
)
fetch_cryptos_1d_price()
if __name__ == "__main__":
main()