class Gowtham:
name = "Gowtham Pulivendula"
role = "Software Engineer @ Bank of America"
location = "Hyderabad, India"
edu = "B.Tech CSE — Amrita Vishwa Vidyapeetham"
skills = ["Python", "ML", "ETL Pipelines", "Cloud", "Docker"]
markets = ["NSE", "BSE", "Options", "Swing Trading", "F&O"]
trading = {
"instruments" : ["Equity", "Options (CE/PE)", "Index Futures"],
"strategies" : ["Swing Trading", "Options Buying", "Trend Following"],
"indices" : ["NIFTY 50", "BANK NIFTY", "FINNIFTY"],
"tools" : ["Zerodha Kite", "TradingView", "Python Algo"],
}
def motto(self):
return "Code by day. Trade by market hours. Learn always.""The stock market is a device for transferring money from the impatient to the patient." — Warren Buffett
|
Active Trader NSE & BSE |
Derivatives CE / PE / Futures |
Strategy Swing + Trend |
Algo Trading Python Scripts |
╔══════════════════════════════════════════════════════════════════════╗
║ GOWTHAM'S TRADING TERMINAL ║
╠══════════════════════════════════════════════════════════════════════╣
║ INDICES LEVEL CHG% SIGNAL ║
║ NIFTY 50 ▓▓▓▓▓▓▓▓▓░ +0.72% ▲ BULLISH ║
║ BANKNIFTY ▓▓▓▓▓▓▓░░░ +0.45% ▲ BULLISH ║
║ FINNIFTY ▓▓▓▓▓░░░░░ -0.11% ► NEUTRAL ║
║ INDIA VIX ▓▓░░░░░░░░ -2.30% ▼ FEAR LOW ║
╠══════════════════════════════════════════════════════════════════════╣
║ WATCHLIST INSTRUMENTS ║
║ > NIFTY 50 OPTIONS (Weekly CE/PE) ║
║ > BANK NIFTY FUTURES ║
║ > Large Cap Swing Positions ║
║ > Python Algo Screener — NSE Data Feed ║
╠══════════════════════════════════════════════════════════════════════╣
║ TOOLS: Zerodha Kite | TradingView | Python | pandas | ta-lib ║
╚══════════════════════════════════════════════════════════════════════╝
| MA | Period | Use Case |
|---|---|---|
| EMA | 9 | Intraday momentum, options entry |
| EMA | 20 | Short-term trend, swing entry/exit |
| SMA | 50 | Medium-term trend filter |
| SMA | 200 | Long-term trend, golden/death cross |
| VWAP | Daily | Intraday reference for institutional levels |
| 🏢 Role | Software Engineer @ Bank of America, Hyderabad |
| 🎓 Education | B.Tech CSE — Amrita Vishwa Vidyapeetham (2023) |
| 📈 Trading | NSE/BSE — Options, Swing, F&O, Algo Strategies |
| 🔭 Working On | Docker Curriculum & Cloud Security |
| 🌱 Learning | Cloud Security, Machine Learning, Algo Trading |
| 💬 Ask Me About | ML, Data Science, Python, Stock Markets |
| 📝 Blog | gowthampuli.blogspot.com |
| 📫 Contact | [email protected] |
| ⚡ Fun Fact | I think I'm lazy... but my algo runs 24/7 😄 |
| Certification | Issuer | Year | |
|---|---|---|---|
| 🌟 | 5-Star SQL | HackerRank | 2023 |
| ☁️ | Azure Fundamentals (AZ-900) | Microsoft | 2025 |
| 🤖 | Generative AI Fundamentals | Databricks Academy | 2025 |
📈 Auto-Update Stock Watchlist in README — Click to expand YAML
# .github/workflows/stock-update.yml
name: Update Stock Watchlist
on:
schedule:
# Runs at 9:15 AM and 3:30 PM IST (market open/close) on weekdays
- cron: "45 3 * * 1-5" # 9:15 AM IST
- cron: "0 10 * * 1-5" # 3:30 PM IST
workflow_dispatch:
jobs:
update-stocks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install dependencies
run: pip install yfinance pandas requests
- name: Fetch & update watchlist
run: |
python3 << 'EOF'
import yfinance as yf
import re
watchlist = {
"NIFTY 50" : "^NSEI",
"BANK NIFTY" : "^NSEBANK",
"RELIANCE" : "RELIANCE.NS",
"TCS" : "TCS.NS",
"INFY" : "INFY.NS",
"HDFCBANK" : "HDFCBANK.NS",
}
rows = ["| SYMBOL | PRICE | CHANGE | STATUS |",
"|:---|---:|---:|:---:|"]
for name, sym in watchlist.items():
t = yf.Ticker(sym)
h = t.history(period="2d")
if len(h) >= 2:
price = h["Close"].iloc[-1]
prev = h["Close"].iloc[-2]
chg = ((price - prev) / prev) * 100
status = "🟢 ▲" if chg >= 0 else "🔴 ▼"
rows.append(f"| **{name}** | ₹{price:,.2f} | {chg:+.2f}% | {status} |")
table = "\n".join(rows)
with open("README.md", "r") as f:
content = f.read()
new_content = re.sub(
r"(<!-- STOCK-TABLE:START -->
| SYMBOL | PRICE | CHANGE | STATUS |
|:---|---:|---:|:---:|
| **RELIANCE** | ₹1,309.50 | -1.40% | 🔴 ▼ |
| **TCS** | ₹2,125.00 | -3.55% | 🔴 ▼ |
| **INFY** | ₹1,051.40 | -6.75% | 🔴 ▼ |
| **HDFCBANK** | ₹779.80 | -0.79% | 🔴 ▼ |
<!-- STOCK-TABLE:END -->)",
f"<!-- STOCK-TABLE:START -->
| SYMBOL | PRICE | CHANGE | STATUS |
|:---|---:|---:|:---:|
| **RELIANCE** | ₹1,309.50 | -1.40% | 🔴 ▼ |
| **TCS** | ₹2,125.00 | -3.55% | 🔴 ▼ |
| **INFY** | ₹1,051.40 | -6.75% | 🔴 ▼ |
| **HDFCBANK** | ₹779.80 | -0.79% | 🔴 ▼ |
<!-- STOCK-TABLE:END -->",
content, flags=re.DOTALL
)
with open("README.md", "w") as f:
f.write(new_content)
print("Watchlist updated!")
'EOF'
- name: Commit updated README
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add README.md
git diff --staged --quiet || git commit -m "chore: update stock watchlist [$(date +%Y-%m-%d)]"
git push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}Add these markers in your README where you want the live table:
<!-- STOCK-TABLE:START -->
| SYMBOL | PRICE | CHANGE | STATUS |
|---|---|---|---|
| RELIANCE | ₹1,309.50 | -1.40% | 🔴 ▼ |
| TCS | ₹2,125.00 | -3.55% | 🔴 ▼ |
| INFY | ₹1,051.40 | -6.75% | 🔴 ▼ |
| HDFCBANK | ₹779.80 | -0.79% | 🔴 ▼ |
📅 Profile Stats Auto-Refresh — Click to expand YAML
# .github/workflows/profile-stats.yml
name: Refresh Profile Stats
on:
schedule:
- cron: "0 */6 * * *" # every 6 hours
workflow_dispatch:
jobs:
refresh:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Update WakaTime stats
uses: anmol098/waka-readme-stats@master
with:
WAKATIME_API_KEY: ${{ secrets.WAKATIME_API_KEY }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
SHOW_OS: "True"
SHOW_LANGUAGE: "True"
SHOW_EDITORS: "True"
SHOW_PROJECTS: "True"
SHOW_TIMEZONE: "True"
SHOW_COMMIT: "True"Auto-updated every market session via GitHub Actions + yfinance
| SYMBOL | PRICE | CHANGE | STATUS |
|---|---|---|---|
| RELIANCE | ₹1,309.50 | -1.40% | 🔴 ▼ |
| TCS | ₹2,125.00 | -3.55% | 🔴 ▼ |
| INFY | ₹1,051.40 | -6.75% | 🔴 ▼ |
| HDFCBANK | ₹779.80 | -0.79% | 🔴 ▼ |
