Repository navigation
Expand file tree
/
Copy pathapp.py
More file actions
44 lines (35 loc) · 1.51 KB
/
Copy pathapp.py
File metadata and controls
44 lines (35 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from __future__ import annotations
import pandas as pd
import streamlit as st
from src.vamp.data_loader import inventory
st.set_page_config(page_title="A-Share Options Research Lab", layout="wide")
st.title("A-Share Options Research Lab")
st.caption("Research UI for iFind option-chain data, VAMP charts, Options Playbook, and MO intraday flow.")
st.markdown(
"""
This Streamlit app is organized as separate research pages:
- **VAMP Research Lab**: build volatility-adjusted market price charts and event-study rankings.
- **Options Playbook**: inspect the original daily options engine reports, metrics, levels, and data quality.
- **MO Flow Radar**: inspect the intraday MO options-flow report, wall timeline, synthetic forward, and output tables.
All pages are research tools only. They do not produce automatic trading orders or direct buy/sell instructions.
"""
)
st.subheader("Local iFind Data Inventory")
items = inventory()
if not items:
st.warning("No normalized iFind option-chain parquet files found.")
else:
frame = pd.DataFrame(
[
{
"product_group": item.product_group,
"date_count": len(item.trade_dates),
"first_date": item.trade_dates[0] if item.trade_dates else None,
"last_date": item.trade_dates[-1] if item.trade_dates else None,
"rows": item.rows,
"files": item.path_count,
}
for item in items
]
)
st.dataframe(frame, width="stretch", hide_index=True)