Skip to main content

Financial market analysis tool implementing the MFOCI algorithm for factor selection

Project description

Factor selection with MFOCI

mfoci is a Python package designed for financial analysts and researchers who need to retrieve and analyze stock market data. This package implements the MFOCI algorithm for factor selection in financial data. Supported are also LASSO and k-FOCI factor selection methods as well as data retrieval from Fama-French and Yahoo Finance.

Installation

Install mfoci using pip:

pip install mfoci

Quick Usage

from mfoci import get_fama_french_data, load_stock_returns
from mfoci import select_factors

# Fetch data
tickers = ["MSFT", "AAPL", "NVDA", "AMZN", "META", "GOOG"]
response_vars = load_stock_returns(tickers, start_date="2013-01-02", end_date="2024-01-01")
factors = get_fama_french_data("2013-01-03", end_date="2024-01-01")

# MFOCI factor selection
mfoci_selected, t_values = select_factors(factors, response_vars, "mfoci")

Further usage

from mfoci import get_fama_french_data, load_stock_returns, load_volatility_index
from mfoci import filter_for_common_indices, select_factors

# Fetch Fama-French factors
factors = get_fama_french_data("2004-01-01", end_date="2024-01-01")

# Load stock returns for specific tickers
tickers = ["MSFT", "AAPL", "NVDA", "AMZN", "META", "GOOG"]
response_vars = load_stock_returns(tickers, start_date="2013-01-01", end_date="2024-01-01")

# Load VIX data
response_vars = load_volatility_index("^VIX", start_date="2004-01-01", end_date="2024-01-01")

# Filter for common dates
factors, response_vars = filter_for_common_indices(factors, response_vars)

# Factor selection using LASSO
lasso_selected, coef = select_factors(factors, response_vars, "lasso")

# KFOCI factor selection (ensure Rscript is installed and path is set)
r_path = "C:/Program Files/R/R-4.3.3/bin/x64/Rscript"
kfoci_gauss_selected = select_factors(
    factors, response_vars, "kfoci", r_path=r_path, kernel="rbfdot"
)
kfoci_laplace_selected = select_factors(
    factors, response_vars, "kfoci", r_path=r_path, kernel="laplacedot"
)

# MFOCI factor selection
mfoci_selected, t_values = select_factors(factors, response_vars, "mfoci")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mfoci-0.2.4.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mfoci-0.2.4-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file mfoci-0.2.4.tar.gz.

File metadata

  • Download URL: mfoci-0.2.4.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for mfoci-0.2.4.tar.gz
Algorithm Hash digest
SHA256 d3a2a70e01bc07cc7f5ed8a081daab44abae624867d26f0ac738760dfa28babb
MD5 ccbeb543d722a7eb9c4826ac91238500
BLAKE2b-256 3af711e73b355577bb7bb1c9ee0e862fd7a8e90eeb9bb2fb88c4b2998497516a

See more details on using hashes here.

File details

Details for the file mfoci-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: mfoci-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for mfoci-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0321484d2d74359e0bc954572a53aeed84c29be5f8a4e6c282c94f3f11d8f052
MD5 d33b804657a6285ed6c743f7bb5685ce
BLAKE2b-256 052ce8004e695553c872394493a25f14ae5e7103f8bdcbcb3a4d654a788667b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page