nitishkarvekar commited on
Commit
2bf6cfe
·
verified ·
1 Parent(s): 86b2dbb

Create market_overview.py

Browse files
Files changed (1) hide show
  1. market_overview.py +58 -0
market_overview.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import yfinance as yf
2
+ import pandas as pd
3
+
4
+
5
+ def get_nifty_trend():
6
+
7
+ df = yf.download("^NSEI", period="3mo", interval="1d", progress=False)
8
+
9
+ close = df["Close"].squeeze()
10
+
11
+ ma20 = close.rolling(20).mean().iloc[-1]
12
+ price = close.iloc[-1]
13
+
14
+ if price > ma20:
15
+ return "Bullish"
16
+ else:
17
+ return "Bearish"
18
+
19
+
20
+ def compute_sector_strength(data):
21
+
22
+ sector_map = {
23
+ "BANKING": ["HDFCBANK.NS","ICICIBANK.NS","SBIN.NS","AXISBANK.NS","KOTAKBANK.NS"],
24
+ "IT": ["TCS.NS","INFY.NS","WIPRO.NS"],
25
+ "FMCG": ["ITC.NS","HINDUNILVR.NS","NESTLEIND.NS"],
26
+ "AUTO": ["MARUTI.NS","TATAMOTORS.NS"],
27
+ "PHARMA": ["SUNPHARMA.NS","DRREDDY.NS"],
28
+ "INFRA": ["LT.NS","ULTRACEMCO.NS"]
29
+ }
30
+
31
+ sector_scores = {}
32
+
33
+ for sector, stocks in sector_map.items():
34
+
35
+ returns = []
36
+
37
+ for ticker in stocks:
38
+
39
+ if ticker not in data:
40
+ continue
41
+
42
+ df = data[ticker]
43
+
44
+ close = df["Close"].squeeze()
45
+
46
+ if len(close) < 10:
47
+ continue
48
+
49
+ ret = close.pct_change().iloc[-5:].mean()
50
+
51
+ returns.append(ret)
52
+
53
+ if len(returns) == 0:
54
+ sector_scores[sector] = 0
55
+ else:
56
+ sector_scores[sector] = round(sum(returns) / len(returns) * 100,2)
57
+
58
+ return sector_scores