Metadata-Version: 2.1
Name: om-quant-fin
Version: 0.1.4
Summary: A simple quantitative trading library for the OMNP Class
Home-page: UNKNOWN
Author: Outspoken Market
Author-email: info@outspokenmarket.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown

# OM Quant Fin

OM Quant Fin is a simple Python library for quantitative trading analysis. It provides functionality for downloading stock data, calculating various indicators, and running a logistic regression model with AUC and Gini metrics for model evaluation.

## Project Structure

```python
om_quant_fin/               # Root directory of the project
├── om_quant_fin/           # Python package containing the library's code
│   ├── __init__.py         # Marks the directory as a package and can contain package-level code or imports
│   └── om_quant_fin.py     # Contains library's functions
├── setup.py                # Provides package metadata and dependencies for packaging and distribution
├── .gitignore              # Lists files and folders that should not be tracked by Git
└── README.md               # Markdown file with a description of the project, usage instructions, and other information
```

## Features

- Download stock data from Yahoo Finance
- Calculate rolling Z-scores
- Calculate rolling ratio of adjusted close and its mean
- Calculate returns
- Split data into training and test sets
- Run a logistic regression model
- Evaluates the model with AUC and Gini

## Installation

Install the library using pip:

```python
pip install om_quant_fin
```

## Usage

```python
import om_quant_fin as mql

#Download stock data:
  data = mql.download_data("AAPL", "2020-01-01", "2022-12-31")

#Calculate rolling Z-score:
  z_score = mql.rolling_z_score(data["Adj Close"], window=20)

#Calculate rolling ratio:
  ratio = mql.rolling_ratio(data["Adj Close"], window=20)

#Calculate returns:
  returns = mql.calculate_returns(data["Adj Close"])

#Split data into training and test sets:
  train, test = mql.split_data(data, "2020-01-01", "2021-12-31", "2022-01-01", "2022-12-31")

#Run a logistic regression model:
  predictions = mql.run_logistic_regression(X_train, y_train, X_test)

```
## License

This project is licensed under the MIT License.


