NSE_AI_Stock_Analyzer_V2 / market_overview.py
nitishkarvekar's picture
Create market_overview.py
2bf6cfe verified
import yfinance as yf
import pandas as pd
def get_nifty_trend():
df = yf.download("^NSEI", period="3mo", interval="1d", progress=False)
close = df["Close"].squeeze()
ma20 = close.rolling(20).mean().iloc[-1]
price = close.iloc[-1]
if price > ma20:
return "Bullish"
else:
return "Bearish"
def compute_sector_strength(data):
sector_map = {
"BANKING": ["HDFCBANK.NS","ICICIBANK.NS","SBIN.NS","AXISBANK.NS","KOTAKBANK.NS"],
"IT": ["TCS.NS","INFY.NS","WIPRO.NS"],
"FMCG": ["ITC.NS","HINDUNILVR.NS","NESTLEIND.NS"],
"AUTO": ["MARUTI.NS","TATAMOTORS.NS"],
"PHARMA": ["SUNPHARMA.NS","DRREDDY.NS"],
"INFRA": ["LT.NS","ULTRACEMCO.NS"]
}
sector_scores = {}
for sector, stocks in sector_map.items():
returns = []
for ticker in stocks:
if ticker not in data:
continue
df = data[ticker]
close = df["Close"].squeeze()
if len(close) < 10:
continue
ret = close.pct_change().iloc[-5:].mean()
returns.append(ret)
if len(returns) == 0:
sector_scores[sector] = 0
else:
sector_scores[sector] = round(sum(returns) / len(returns) * 100,2)
return sector_scores