Back to Projects

Financial Data Research

A-Share Intraday Tick Analysis

A Streamlit-based research tool for observing intraday A-share tick behavior. It combines AKShare data fetching, field normalization, intraday indicators, large-order analysis, active buy/sell flow, estimated main-fund movement, price-level distribution, behavior signals, anomaly alerts, and optional machine learning examples.

Period

Aug 2025 - Present

Stack

PythonStreamlitAKSharePlotlyPandasScikit-learn

Motivation

The project grew from several standalone scripts into a more maintainable research application. The refactor separates data fetching, cleaning, indicators, visualization, configuration, logging, and optional ML so intraday market questions can be explored without turning the codebase into one large script.

Links

Core Features

  • Fetches A-share intraday and tick data through AKShare interfaces such as stock_zh_a_tick_tx_js and stock_intraday_em.
  • Normalizes changing upstream fields into a standard schema for time, price, volume, amount, and buy/sell direction.
  • Calculates intraday high/low, VWAP, average price, turnover, volume change, and price-level transaction distribution.
  • Analyzes large orders, super-large orders, active buy/sell amount, estimated main-fund net inflow, and buy/sell strength.
  • Detects tick-level behavior signals and alerts such as price lift, heavy sell pressure, possible accumulation/distribution, dense large-order activity, and sudden volume spikes.
  • Includes optional ML examples for anomaly detection, short-term direction classification, clustering, and feature explanation.

My Contribution

  • Refactored the project from root-level standalone scripts into a package-style structure with app.py, config.yaml, pyproject.toml, requirements.txt, and an astock_analysis module.
  • Built separate modules for AKShare fetchers, field cleaning, intraday indicators, tick-pattern detection, Plotly charts, logging, and optional ML workflows.
  • Kept legacy Streamlit and command-line entry points for compatibility while making app.py the recommended unified entry point.

What I Learned

  • Learned how quickly financial data scripts need structure once field compatibility, caching, empty-data handling, and charts enter the project.
  • Practiced turning tick-level market observations into reusable indicators, rule-based alerts, and explainable ML features.
  • Strengthened risk-awareness: tick direction, fund-flow estimates, and behavior labels are data observations, not trading advice.