Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,45 +1,9 @@
|
|
| 1 |
-
import requests
|
| 2 |
-
import pandas as pd
|
| 3 |
import gradio as gr
|
| 4 |
|
| 5 |
-
def scrape_barchart_unusual():
|
| 6 |
-
url = "https://www.barchart.com/proxies/core-api/v1/options/unusual-activity"
|
| 7 |
-
headers = {
|
| 8 |
-
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123 Safari/537.36",
|
| 9 |
-
"Accept": "application/json",
|
| 10 |
-
}
|
| 11 |
-
params = {
|
| 12 |
-
"assetType": "STOCK",
|
| 13 |
-
"fields": "symbol,optionType,strikePrice,expirationDate,tradeVolume,tradePremium",
|
| 14 |
-
"meta": "field.shortName,field.type",
|
| 15 |
-
"orderBy": "tradePremium",
|
| 16 |
-
"orderDir": "desc",
|
| 17 |
-
"page": 1,
|
| 18 |
-
"limit": 50
|
| 19 |
-
}
|
| 20 |
-
|
| 21 |
-
response = requests.get(url, headers=headers, params=params)
|
| 22 |
-
data = response.json()
|
| 23 |
-
|
| 24 |
-
if "data" not in data:
|
| 25 |
-
return pd.DataFrame(columns=["Symbol", "Type", "Strike", "Expiry", "Volume", "Premium ($)"])
|
| 26 |
-
|
| 27 |
-
rows = []
|
| 28 |
-
for item in data["data"]:
|
| 29 |
-
symbol = item.get("symbol", "")
|
| 30 |
-
opt_type = item.get("optionType", "")
|
| 31 |
-
strike = item.get("strikePrice", "")
|
| 32 |
-
expiry = item.get("expirationDate", "")
|
| 33 |
-
volume = item.get("tradeVolume", "")
|
| 34 |
-
premium = item.get("tradePremium", "")
|
| 35 |
-
|
| 36 |
-
rows.append([symbol, opt_type, strike, expiry, volume, f"${premium:,}"])
|
| 37 |
-
|
| 38 |
-
df = pd.DataFrame(rows, columns=["Symbol", "Type", "Strike", "Expiry", "Volume", "Premium ($)"])
|
| 39 |
-
return df
|
| 40 |
-
|
| 41 |
with gr.Blocks() as app:
|
| 42 |
-
gr.Markdown("
|
| 43 |
-
|
|
|
|
|
|
|
| 44 |
|
| 45 |
-
app.launch(
|
|
|
|
|
|
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
with gr.Blocks() as app:
|
| 4 |
+
gr.Markdown("""
|
| 5 |
+
### OptionStrat Flow
|
| 6 |
+
[<span style="padding: 10px 20px; background-color: #0056b3; color: white; border-radius: 5px;">Truy cập Option Flow</span>](https://optionstrat.com/flow){:target="_blank"}
|
| 7 |
+
""")
|
| 8 |
|
| 9 |
+
app.launch()
|