eshan6704 commited on
Commit
f791750
·
verified ·
1 Parent(s): b29ff00

Update stock.py

Browse files
Files changed (1) hide show
  1. stock.py +1 -65
stock.py CHANGED
@@ -57,70 +57,6 @@ from chart_builder import build_chart
57
  from ta_indi_pat import talib_df
58
 
59
 
60
- # -------------------------- INFO ------------------------------
61
-
62
- def fetch_info2(symbol):
63
- try:
64
- info = yfinfo(symbol)
65
- if not info:
66
- return html_error(f"No information found for {symbol}")
67
-
68
- basic = {
69
- "Symbol": symbol,
70
- "Name": safe_get(info, "longName"),
71
- "Sector": safe_get(info, "sector"),
72
- "Industry": safe_get(info, "industry"),
73
- "Website": safe_get(info, "website"),
74
- "Employee Count": format_large_number(safe_get(info, "fullTimeEmployees")),
75
- }
76
- df_basic = pd.DataFrame(basic.items(), columns=["Field", "Value"])
77
-
78
- price_info = {
79
- "Current Price": format_number(safe_get(info, "currentPrice")),
80
- "Previous Close": format_number(safe_get(info, "previousClose")),
81
- "Open": format_number(safe_get(info, "open")),
82
- "Day High": format_number(safe_get(info, "dayHigh")),
83
- "Day Low": format_number(safe_get(info, "dayLow")),
84
- "52W High": format_number(safe_get(info, "fiftyTwoWeekHigh")),
85
- "52W Low": format_number(safe_get(info, "fiftyTwoWeekLow")),
86
- "Volume": format_large_number(safe_get(info, "volume")),
87
- "Avg Volume": format_large_number(safe_get(info, "averageVolume")),
88
- }
89
- df_price = pd.DataFrame(price_info.items(), columns=["Field", "Value"])
90
-
91
- valuation = {
92
- "Market Cap": format_large_number(safe_get(info, "marketCap")),
93
- "PE Ratio": format_number(safe_get(info, "trailingPE")),
94
- "EPS": format_number(safe_get(info, "trailingEps")),
95
- "PB Ratio": format_number(safe_get(info, "priceToBook")),
96
- "Dividend Yield": format_number(safe_get(info, "dividendYield")),
97
- "ROE": format_number(safe_get(info, "returnOnEquity")),
98
- "ROA": format_number(safe_get(info, "returnOnAssets")),
99
- }
100
- df_val = pd.DataFrame(valuation.items(), columns=["Field", "Value"])
101
-
102
- extra = {
103
- "Beta": format_number(safe_get(info, "beta")),
104
- "Revenue": format_large_number(safe_get(info, "totalRevenue")),
105
- "Gross Margins": format_number(safe_get(info, "grossMargins")),
106
- "Operating Margins": format_number(safe_get(info, "operatingMargins")),
107
- "Profit Margins": format_number(safe_get(info, "profitMargins")),
108
- "Book Value": format_number(safe_get(info, "bookValue")),
109
- }
110
- df_extra = pd.DataFrame(extra.items(), columns=["Field", "Value"])
111
-
112
- final_html = (
113
- html_card("Basic Information", make_table(df_basic))
114
- + html_card("Price Details", make_table(df_price))
115
- + html_card("Valuation Metrics", make_table(df_val))
116
- + html_card("Additional Company Data", make_table(df_extra))
117
- )
118
- return final_html
119
-
120
- except Exception as e:
121
- return html_error(f"INFO ERROR: {e}<br><pre>{traceback.format_exc()}</pre>")
122
-
123
-
124
  # -------------------------- INTRADAY ------------------------------
125
 
126
  def fetch_intraday(symbol, indicators=None):
@@ -132,7 +68,7 @@ def fetch_intraday(symbol, indicators=None):
132
  if isinstance(df.columns, pd.MultiIndex):
133
  df.columns = df.columns.get_level_values(0)
134
 
135
- chart_html = build_chart(df, indicators=indicators, volume=True)
136
  table_html = make_table(df.tail(50))
137
 
138
  return wrap_html(f"{chart_html}<h2>Last 50 Rows</h2>{table_html}",
 
57
  from ta_indi_pat import talib_df
58
 
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  # -------------------------- INTRADAY ------------------------------
61
 
62
  def fetch_intraday(symbol, indicators=None):
 
68
  if isinstance(df.columns, pd.MultiIndex):
69
  df.columns = df.columns.get_level_values(0)
70
 
71
+ chart_html = build_chart(df, indicators=indicators)
72
  table_html = make_table(df.tail(50))
73
 
74
  return wrap_html(f"{chart_html}<h2>Last 50 Rows</h2>{table_html}",