ワンクリックで
store
Use when tasks need local Parquet market data storage, pool management, research artifacts, backtest records, or model metadata.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when tasks need local Parquet market data storage, pool management, research artifacts, backtest records, or model metadata.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when tasks need factor diagnostics, IC/grouped return analysis, attribution, robustness checks, or time-series distribution and stationarity checks.
Use when tasks need vectorized strategy execution, portfolio weighting, portfolio-level filters, transaction cost helpers, exit A/B analysis, overlay metrics, or multi-strategy return blending.
Use when tasks need strategy-agnostic OHLCV indicators, math utilities, generic factor examples, regime slicing, resampling, or label makers.
Use when tasks need optional PyCaret model training, ML factor generation, inference wrappers, feature importance, or sparse LASSO weight generation.
Use when tasks need PandaData/PandaAI market data, reference data, adjustment factors, futures tick downloads, or symbol conversion.
Use when tasks need HTML reports, Markdown strategy reports, PNG chart helpers, or report files under the research reports directory.
| name | store |
| description | Use when tasks need local Parquet market data storage, pool management, research artifacts, backtest records, or model metadata. |
Use this skill when a task needs local file management for research data and
artifacts. The public project uses DataManager as the storage boundary.
from skills.store.data_manager import DataManager, DataQualityReport, validate_ohlcv
DataManager resolves its root from QUANTSPACE_DATA_ROOT, falling back to
the repository data/ directory.
data/market/{frequency}/{symbol}.parquetdata/adj_factor/{symbol}.parquetdata/pools/{pool_id}.jsondata/factors/{pool_id}/data/factor_test/{pool_id}/data/correlation/data/backtest/data/models/data/export/Market data
read_symbol(symbol, frequency="1d")read_symbols(symbols, frequency="1d")save_symbol(symbol, df, frequency="1d", source="unknown")import_symbol_csv(csv_path, symbol, frequency="1d")import_combined_csv(csv_path, frequency="1d")list_symbols(frequency="1d")Pools
create_pool(pool_id, symbols, description="", frequency="1d")get_pool_symbols(pool_id)get_pool_frequency(pool_id)load_pool_data(pool_id)check_pool_coverage(pool_id)list_pools()Research artifacts
save_factor, read_factorsave_factor_test, read_factor_test_summarysave_factor_correlation, read_factor_correlationsave_backtest_run, read_backtest_summary, read_backtest_runlist_models, read_model_metadataSave PandaData bars
import pandas as pd
from skills.ingest import PandaDataClient
from skills.store.data_manager import DataManager
raw = PandaDataClient().fetch_market_data("SHSE.600000", "20230101", "20231231")
bars = raw.copy()
bars["eob"] = pd.to_datetime(bars["date"])
bars = bars.set_index("eob")[["open", "high", "low", "close", "volume"]].sort_index()
DataManager().save_symbol("SHSE.600000", bars, frequency="1d", source="panda_data")
Load a panel
from skills.store.data_manager import DataManager
dm = DataManager()
panel = dm.load_pool_data("sample_etf_rotation")
Load explicit symbols
from skills.store.data_manager import DataManager
dm = DataManager()
panel = dm.read_symbols(["CFFEX.IF99", "SHFE.CU99"], frequency="1d")
read_symbols returns a MultiIndex (symbol, eob) panel and reports all
missing symbols in one FileNotFoundError.