SeaWolf-AI commited on
Commit
0d0f436
ยท
verified ยท
1 Parent(s): deb7f13

remove operational script from the public space

Browse files
Files changed (1) hide show
  1. publish_prices.py +0 -84
publish_prices.py DELETED
@@ -1,84 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- """์‹œ์„ธ ๋ฐœํ–‰๊ธฐ โ€” ๋„คํŠธ์›Œํฌ๊ฐ€ ๋˜๋Š” ๊ณณ์—์„œ ๋Œ๋ ค ๋ฐ์ดํ„ฐ์…‹์— ์˜ฌ๋ฆฐ๋‹ค.
3
-
4
- ์™œ ํ•„์š”ํ•œ๊ฐ€
5
- HF Space์—์„œ YahooยทStooqยทCoinGecko๊ฐ€ ์ „๋ถ€ ๋ฐ์ดํ„ฐ์„ผํ„ฐ IP๋ฅผ ๋ง‰๋Š”๋‹ค(์‹ค์ธก:
6
- 429 / ๋ด‡์ฐจ๋‹จ / ์ฐจ๋‹จ). ๋ฐ”๊นฅ ์ธํ„ฐ๋„ท ์ž์ฒด๋Š” ๋˜๋Š”๋ฐ ์‹œ์„ธ ์ œ๊ณต์ž๋งŒ ๋ง‰ํžŒ๋‹ค.
7
- ๊ทธ๋ž˜์„œ ์„œ๋ฒ„๊ฐ€ ์‹œ์„ธ๋ฅผ '๊ฐ€์ ธ์˜ค์ง€' ์•Š๊ณ  '๋ฐ›๊ฒŒ' ํ•œ๋‹ค.
8
-
9
- ์–ด๋””์„œ ๋Œ๋ฆฌ๋‚˜
10
- ๋ณธ PC ๋˜๋Š” ์  (H100). ๋‘˜ ๋‹ค ์ผ๋ฐ˜ ํšŒ์„ ์ด๋ผ ์‹œ์„ธ ์ œ๊ณต์ž๊ฐ€ ๋ง‰์ง€ ์•Š๋Š”๋‹ค.
11
- cron / ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๋กœ ํ•˜๋ฃจ ๋ช‡ ๋ฒˆ ๋Œ๋ฆฐ๋‹ค.
12
-
13
- ๐Ÿ”ด ๋ฐœํ–‰์— ์‹คํŒจํ•˜๋ฉด **์˜ฌ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค**. ๋ฐ˜์ชฝ ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋ฉด ๊ทธ๋‚  ์ „ ์ฐธ๊ฐ€์ž์˜
14
- ์ˆ˜์ต๋ฅ ์ด ํ‹€์–ด์ง„๋‹ค. ์ด์ „ ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ๋‘๋Š” ํŽธ์ด ์–ธ์ œ๋‚˜ ๋‚ซ๋‹ค.
15
-
16
- python publish_prices.py # ๋ฐœํ–‰
17
- python publish_prices.py --dry # ๋ฐ›์•„๋งŒ ๋ณด๊ณ  ์•ˆ ์˜ฌ๋ฆผ
18
- """
19
- import os, sys, io
20
- import pandas as pd
21
-
22
- HERE = os.path.dirname(os.path.abspath(__file__))
23
- sys.path[:0] = [os.path.join(HERE, "app"), HERE]
24
- import fetch as FE
25
-
26
- REPO = os.environ.get("FINCHAL_FEED", "FINAL-Bench/finchal-prices")
27
- ASSETS = ["NVDA", "BTC", "GOLD", "OIL"]
28
- MIN_BARS = 400 # 5๋…„์น˜๋ฅผ ๊ธฐ๋Œ€ํ•œ๋‹ค. ์ด๋ณด๋‹ค ์ ์œผ๋ฉด ์†Œ์Šค๊ฐ€ ๋ฐ˜์ชฝ์ด๋‹ค
29
-
30
-
31
- def collect():
32
- """์ „ ์ข…๋ชฉ์„ ๋ชจ์•„ ์˜จ๋‹ค. ํ•˜๋‚˜๋ผ๋„ ๋ชป ๋ฐ›์œผ๋ฉด ๊ทธ ์‚ฌ์‹ค์„ ๊ทธ๋Œ€๋กœ ๋Œ๋ ค์ค€๋‹ค."""
33
- out, bad = {}, []
34
- for a in ASSETS:
35
- # ํ”ผ๋“œ ์ž์‹ ์€ ๊ฑด๋„ˆ๋›ด๋‹ค โ€” ์ž๊ธฐ๊ฐ€ ์“ด ๊ฑธ ๋‹ค์‹œ ์ฝ์–ด ์˜ฌ๋ฆฌ๋ฉด ๊ฐฑ์‹ ์ด ๋ฉˆ์ถ˜๋‹ค
36
- ladder = [(n, f) for n, f in FE.LADDER if n != "feed"]
37
- keep = FE.LADDER
38
- FE.LADDER = ladder
39
- try:
40
- s, src, trail = FE.daily(a, 2200)
41
- finally:
42
- FE.LADDER = keep
43
- if s is None or len(s) < MIN_BARS:
44
- bad.append((a, trail))
45
- print(" %-5s ์‹คํŒจ %s" % (a, " ยท ".join(trail)))
46
- continue
47
- out[a] = s
48
- print(" %-5s %-6s %4d๋ด‰ %s ๋งˆ์ง€๋ง‰ %.4f"
49
- % (a, src, len(s), s.index[-1].date(), float(s.iloc[-1])))
50
- return out, bad
51
-
52
-
53
- def publish(data, dry=False):
54
- from huggingface_hub import HfApi
55
- tok = os.environ.get("HF_TOKEN")
56
- if not tok:
57
- raise SystemExit("HF_TOKEN ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค")
58
- api = HfApi(token=tok)
59
- api.create_repo(REPO, repo_type="dataset", private=True, exist_ok=True)
60
- for a, s in data.items():
61
- d = pd.DataFrame({"date": s.index.strftime("%Y-%m-%d"),
62
- "close": s.values})
63
- buf = io.BytesIO(d.to_csv(index=False).encode())
64
- if dry:
65
- print(" (๋ชจ์˜) prices/%s.csv %dํ–‰" % (a, len(d)))
66
- continue
67
- api.upload_file(path_or_fileobj=buf, path_in_repo="prices/%s.csv" % a,
68
- repo_id=REPO, repo_type="dataset",
69
- commit_message="prices %s %s" % (a, s.index[-1].date()))
70
- print(" ์˜ฌ๋ฆผ prices/%s.csv %dํ–‰" % (a, len(d)))
71
-
72
-
73
- if __name__ == "__main__":
74
- dry = "--dry" in sys.argv
75
- print("์‹œ์„ธ ์ˆ˜์ง‘")
76
- data, bad = collect()
77
- if not data:
78
- raise SystemExit("๐Ÿ”ด ํ•œ ์ข…๋ชฉ๋„ ๋ชป ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์˜ฌ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.")
79
- print("\n๋ฐœํ–‰ โ†’ %s" % REPO)
80
- publish(data, dry)
81
- if bad:
82
- # ๋ฐ›์€ ๊ฒƒ๋งŒ ์˜ฌ๋ฆฌ๊ณ , ๋ชป ๋ฐ›์€ ์ข…๋ชฉ์€ ์ด์ „ ํŒŒ์ผ์ด ๊ทธ๋Œ€๋กœ ๋‚จ๋Š”๋‹ค.
83
- print("\n๐Ÿ”ด ์‹คํŒจ %d์ข…๋ชฉ โ€” ์ด์ „ ํŒŒ์ผ ์œ ์ง€: %s"
84
- % (len(bad), ", ".join(a for a, _ in bad)))