UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
データ・研究 · SKILL.md

data-cleaning

data-cleaning

Cleans and preprocesses financial time series data. Handles missing values, outliers, corporate actions (splits, dividends), date alignment, and data quality checks. Trigger when the user has messy financial data or needs to prepare data for analysis.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: data-cleaning description: Cleans and preprocesses financial time series data. Handles missing values, outliers, corporate actions (splits, dividends), date alignment, and data quality checks. Trigger when the user has messy financial data or needs to prepare data for analysis. metadata: hermes: tags: [data-cleaning, preprocessing, quality, financial-data] category: data

Data Cleaning

Prepares financial time series data for analysis by handling common data quality issues.

Real Code Reference

  • tradinglearn/utils/data_fetcher.py — fetch_stock_data() normalizes TDX raw data to clean DataFrame
  • tradinglearn/utils/simple_pytdx2.py — mock data generator with controllable noise
  • tradinglearn/pytdx2/client/quotationClient.py — raw data source (prices need scaling adjustments)

Capabilities

  • Missing values: forward fill (ffill), linear interpolation, drop, or flag
  • Outlier detection: z-score, IQR, moving average deviation
  • Corporate actions: adjust prices for splits and dividends using adjustment factors
  • Date alignment: merge multiple series on common trading dates (not calendar dates)
  • Data quality: volume anomalies, price gaps > N%, stale data, duplicate rows

Typical Workflow

  1. Load raw data → pd.DataFrame with columns: date, open, high, low, close, volume
  2. Check nulls → df.isnull().sum(), decide fill strategy
  3. Detect outliers → flag bars where abs(zscore(returns)) > 3
  4. Adjust for splits → apply adjustment factor series
  5. Align dates → reindex to intersection of all trading calendars
  6. Validate → no NaNs, no suspicious jumps, no future dates

Edge Cases

  • Non-trading days: use trading calendar, not calendar days
  • IPO dates: trim to actual listing date (data before is invalid)
  • Suspended stocks: forward-fill last price or mark as NaN
  • Pre/after-hours: decide whether to include or filter
保存したスキル