QuantScaleAI / generate_cache.py
AJAY KASU
Fix: Crash recovery, remove live fetch, add Passive AI logic
aa68b93
import yfinance as yf
import json
import concurrent.futures
import os
from data.data_manager import MarketDataEngine
def generate_cache():
engine = MarketDataEngine()
tickers = engine.fetch_sp500_tickers()
print(f"Fetching caps for {len(tickers)} tickers...")
caps = {}
def get_cap(t):
try:
return t, yf.Ticker(t).fast_info['market_cap']
except:
return t, 0
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
results = executor.map(get_cap, tickers)
for t, c in results:
if c > 0:
caps[t] = c
with open('data/market_cap_cache.json', 'w') as f:
json.dump(caps, f, indent=2)
print(f"Saved {len(caps)} caps to data/market_cap_cache.json")
if __name__ == "__main__":
generate_cache()