pfund


Namepfund JSON
Version 0.0.1.dev12 PyPI version JSON
download
home_pagehttps://pfund.ai
SummaryA Complete Algo-Trading Framework for Machine Learning, enabling trading across TradFi, CeFi and DeFi. Supports Vectorized and Event-Driven Backtesting, Paper and Live Trading
upload_time2024-04-18 09:25:08
maintainerNone
docs_urlNone
authorStephen Yau
requires_python<3.13,>=3.10
licenseApache-2.0
keywords trading algo-trading stocks cryptos cryptocurrencies tradfi cefi defi portfolio management investment backtesting machine learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PFund: Algo-Trading Framework for Machine Learning, TradFi, CeFi and DeFi ready.

![GitHub stars](https://img.shields.io/github/stars/PFund-Software-Ltd/pfund?style=social)
![PyPI downloads](https://img.shields.io/pypi/dm/pfund)
[![PyPI](https://img.shields.io/pypi/v/pfund.svg)](https://pypi.org/project/pfund)
![PyPI - Support Python Versions](https://img.shields.io/pypi/pyversions/pfund)
[![Jupyter Book Badge](https://raw.githubusercontent.com/PFund-Software-Ltd/pfund/main/docs/images/jupyterbook.svg
)](https://jupyterbook.org)
[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)

[TradFi]: https://www.techopedia.com/definition/traditional-finance-tradfi
[CeFi]: https://www.techopedia.com/definition/centralized-finance-cefi
[DeFi]: https://www.coinbase.com/learn/crypto-basics/what-is-defi
[pytrade.org]: https://pytrade.org
[dYdX]: https://dydx.exchange
[polars]: https://pola.rs/
[PFund.ai]: https://pfund.ai
[PFeed]: https://github.com/PFund-Software-Ltd/pfeed
[Bybit]: https://bybit.com/
[PyTorch]: https://pytorch.org/
[Poetry]: https://python-poetry.org
[Futu]: https://www.futunn.com
[FirstRate Data]: https://firstratedata.com
[Mantine UI]: https://ui.mantine.dev/

PFund (/piː fʌnd/), which stands for "**Personal Fund**", is an **algo-trading framework** designed for using **machine learning** models to trade across [TradFi] (Traditional Finance, e.g. **Interactive Brokers**), [CeFi] (Centralized Finance, e.g. Binance) and [DeFi] (Decentralized Finance, e.g. [dYdX]), or in simple terms, **Stocks** and **Cryptos**.

PFund allows traders to:
- perform vectorized or event-driven backtesting with
  - different resolutions of data, e.g. orderbook data, tick data, bar data etc.
  - different data tools, e.g. pandas, [polars] etc.
- train machine learning models using their favorite frameworks, i.e. PFund is **ML-framework agnostic**
- tune strategy (hyper)parameters by splitting data into training sets, development sets and test sets
- go from backtesting to live trading by just changing **ONE line of code!!**
- execute trades manually/semi-manually via a trading app (frontend+backend)

It is created to enable trading for [PFund.ai] - a trading platform that bridges algo-trading and manual trading using AI (LLM).

Since PFund's sole purpose is for trading only, for all the data work, there is a separate library to handle that: \
[PFeed] - Data pipeline for algo-trading, helping traders in getting real-time and historical data, and storing them in a local data lake for quantitative research.


<details>
<summary>Table of Contents</summary>

- [Project Status](#project-status)
- [Mission](#mission)
- [Core Features](#core-features)
- [Installation](#installation)
- [Quick Start](#quick-start)
  - [Backtesting](#backtesting)
  - [Live Trading](#live-trading)
  - [Parameter Training / Hyperparameter Tuning](#parameter-training--hyperparameter-tuning)
  - [Building LEGO-Style Strategy and Model](#building-lego-style-strategy-and-model)
- [Model Hub](#model-hub)
- [Supported Trading Venues](#supported-trading-venues)
- [Related Projects](#related-projects)
- [Disclaimer](#disclaimer)

</details>


## Project Status
**_Caution: PFund is at a VERY EARLY stage, use it at your own risk._**

PFund is currently under active development, the framework design will be prioritized first over
stability and scalability.

Please note that the available version is a *dev* version, not a *stable* one. \
You are encouraged to play with the *dev* version, but only use it when a *stable* version is released.

> PFund for the time being **_only supports vectorized backtesting_** using [Bybit] and Yahoo Finance data for testing purpose.


## Mission
As an algo-trader, if you aim to quickly try out some trading ideas to see if they work, and if they do, deploy them for live traidng, it is actually not a trivial task since it involves multiple stages:
- Ideation
- Strategy development
- Backtesting
- Model development (if using machine learning)
- Model training (if using machine learning)
- Parameter training / hyperparameter tuning
- Strategy deployment
- Portfolio monitoring

This overview already omits some intricate steps, such as data handling and API integration.

> PFund's mission is to **_enable traders to concentrate solely on strategy formulation_** while the framework manages the rest. With PFund serving as the core trade engine, it empowers retail traders to have a fund management experience on [PFund.ai] as if they are operating their personal hedge fund, hence the name *PFund*.


## Core Features
- [x] Easily switch environments with just one line of code, transitioning from backtesting to live trading
- [x] Supports machine learning models, features, technical analysis indicators
- [x] Both Strategy() and Model() are treated as first-class citizens
- [x] Offers LEGO-style strategy and model building, allowing strategies to add other strategies, models to add other models
- [x] Streamlines the algo-trading flow, from vectorized backtesting for strategy prototyping and event-driven backtesting for strategy development, to live trading for strategy deployment
- [x] Enables parallel data processing, e.g. Interactive Brokers and Binance each have their own process for receiving data feeds
- [ ] Allows choosing your preferred data tool, e.g. pandas, polars, pyspark etc.
- [ ] Features a modern frontend using [Mantine UI] and TradingView's Charts library
- [ ] Supports manual/semi-manual trading using the frontend


## Installation

### Using [Poetry] (Recommended)
```bash
# [RECOMMENDED]: trading + backtest
poetry add "pfund[data]"

# [Machine Learning]: trading + backtest + machine learning/technical analysis
poetry add "pfund[data,ml]"

# only trading
poetry add pfund

# update to the latest version:
poetry update pfund
```

### Using Pip
```bash
pip install pfund

# install the latest version:
pip install -U pfund
```

### Checking your installation
```bash
$ pfund --version
```


## Quick Start
### Backtesting
```python
import pfund as pf

# NOTE: for more exciting strategies, please visit pfund.ai
class YourStrategy(pf.Strategy):
    # triggered by bar/kline data (e.g. 1-minute data)
    def on_bar(self):
        # write your trading logic here
        pass


engine = pf.BacktestEngine(mode='vectorized')
strategy = engine.add_strategy(YourStrategy(), name='your_strategy')
strategy.add_data(
  'IB', 'AAPL', 'USD', 'STK', resolutions=['1d'],
  backtest={
    # NOTE: since IB does not provide any historical data for backtesting purpose, use data from 'YAHOO_FINANCE'
    'data_source': 'YAHOO_FINANCE',
    'start_date': '2024-01-01',
    'end_date': '2024-02-01',
  }
)
engine.run()
```


### Live Trading
> Just change one line of code, from '**BacktestEngine**' to '**TradeEngine**'. BOOM! you can now start live trading.
```python
import pfund as pf

engine = pf.TradeEngine(env='LIVE')
strategy = engine.add_strategy(YourStrategy(), name='your_strategy')
strategy.add_data(
  'IB', 'AAPL', 'USD', 'STK', resolutions=['1d'],
  # for convenience, you can keep the kwarg `backtest`, `TradeEngine` will ignore it
  backtest={
    # NOTE: since IB does not provide any historical data for backtesting purpose, use data from 'YAHOO_FINANCE'
    'data_source': 'YAHOO_FINANCE',
    'start_date': '2024-01-01',
    'end_date': '2024-02-01',
  }
)
engine.run()
```

### Parameter Training / Hyperparameter Tuning
> The correct term should be "Hyperparameter Tuning", but since not all traders are familiar with machine learning, the framework uses a more well-known term "training".

```python
import pfund as pf

engine = pf.TrainEngine()
strategy = engine.add_strategy(...)
strategy.add_data(...)
strategy.add_indicator(...)
engine.run()
```

### Building LEGO-Style Strategy and Model
```python
import pfund as pf

engine = pf.TradeEngine(env='LIVE')
strategy = engine.add_strategy(...)
strategy.add_data(...)
model = strategy.add_model(...)

model.add_data(...)  # using different data than strategy's
sub_model = model.add_model(...)  # YES, model can add another model to its use
# You can keep going: 
# sub_sub_model = sub_model.add_model(...)

engine.run()
```


## Model Hub
Imagine a space where algo-traders can share their machine learning models with one another.
Strategy and model development could be so much faster since you can build on top of an existing working model.
> Model Hub is coming soon on [PFund.ai], Stay Tuned!


## Supported Trading Venues
| Trading Venue             | Vectorized Backtesting | Event-Driven Backtesting | Paper Trading | Live Trading |
| ------------------------- | ---------------------- | ------------------------ | ------------- | ------------ |
| Bybit                     | 🟒                     | 🟑                       | 🟑            | 🟑           |
| *Interactive Brokers (IB) | 🟑                     | 🟑                       | 🟑            | 🟑           |
| Binance                   | πŸ”΄                     | πŸ”΄                       | πŸ”΄            | πŸ”΄           |
| OKX                       | πŸ”΄                     | πŸ”΄                       | πŸ”΄            | πŸ”΄           |
| *Alpaca                   | πŸ”΄                     | πŸ”΄                       | πŸ”΄            | πŸ”΄           |
| *[Futu]                   | πŸ”΄                     | πŸ”΄                       | πŸ”΄            | πŸ”΄           |
| dYdX                      | πŸ”΄                     | πŸ”΄                       | πŸ”΄            | πŸ”΄           |

🟒 = finished \
🟑 = in progress \
πŸ”΄ = todo \
\* = use a **_separate data source_** (e.g. [FirstRate Data]) for backtesting


## Related Projects
- [PFeed] β€” Data pipeline for algo-trading, helping traders in getting real-time and historical data, and storing them in a local data lake for quantitative research.
- [PyTrade.org] - A curated list of Python libraries and resources for algorithmic trading.


## Disclaimer
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This algo-trading framework is intended for educational and research purposes only. It should not be used for real trading without understanding the risks involved. Trading in financial markets involves significant risk, and there is always the potential for loss. Your trading results may vary. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this platform.

The developers of this framework are not responsible for any financial losses incurred from using this software. Users should conduct their due diligence and consult with a professional financial advisor before engaging in real trading activities.
            

Raw data

            {
    "_id": null,
    "home_page": "https://pfund.ai",
    "name": "pfund",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.10",
    "maintainer_email": null,
    "keywords": "trading, algo-trading, stocks, cryptos, cryptocurrencies, TradFi, CeFi, DeFi, portfolio management, investment, backtesting, machine learning",
    "author": "Stephen Yau",
    "author_email": "softwareentrepreneer+pfund@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/9c/34/59223d1bf9363d5c70379fe391082cc7a27feb20690484923dad114a12a0/pfund-0.0.1.dev12.tar.gz",
    "platform": null,
    "description": "# PFund: Algo-Trading Framework for Machine Learning, TradFi, CeFi and DeFi ready.\n\n![GitHub stars](https://img.shields.io/github/stars/PFund-Software-Ltd/pfund?style=social)\n![PyPI downloads](https://img.shields.io/pypi/dm/pfund)\n[![PyPI](https://img.shields.io/pypi/v/pfund.svg)](https://pypi.org/project/pfund)\n![PyPI - Support Python Versions](https://img.shields.io/pypi/pyversions/pfund)\n[![Jupyter Book Badge](https://raw.githubusercontent.com/PFund-Software-Ltd/pfund/main/docs/images/jupyterbook.svg\n)](https://jupyterbook.org)\n[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)\n\n[TradFi]: https://www.techopedia.com/definition/traditional-finance-tradfi\n[CeFi]: https://www.techopedia.com/definition/centralized-finance-cefi\n[DeFi]: https://www.coinbase.com/learn/crypto-basics/what-is-defi\n[pytrade.org]: https://pytrade.org\n[dYdX]: https://dydx.exchange\n[polars]: https://pola.rs/\n[PFund.ai]: https://pfund.ai\n[PFeed]: https://github.com/PFund-Software-Ltd/pfeed\n[Bybit]: https://bybit.com/\n[PyTorch]: https://pytorch.org/\n[Poetry]: https://python-poetry.org\n[Futu]: https://www.futunn.com\n[FirstRate Data]: https://firstratedata.com\n[Mantine UI]: https://ui.mantine.dev/\n\nPFund (/pi\u02d0 f\u028cnd/), which stands for \"**Personal Fund**\", is an **algo-trading framework** designed for using **machine learning** models to trade across [TradFi] (Traditional Finance, e.g. **Interactive Brokers**), [CeFi] (Centralized Finance, e.g. Binance) and [DeFi] (Decentralized Finance, e.g. [dYdX]), or in simple terms, **Stocks** and **Cryptos**.\n\nPFund allows traders to:\n- perform vectorized or event-driven backtesting with\n  - different resolutions of data, e.g. orderbook data, tick data, bar data etc.\n  - different data tools, e.g. pandas, [polars] etc.\n- train machine learning models using their favorite frameworks, i.e. PFund is **ML-framework agnostic**\n- tune strategy (hyper)parameters by splitting data into training sets, development sets and test sets\n- go from backtesting to live trading by just changing **ONE line of code!!**\n- execute trades manually/semi-manually via a trading app (frontend+backend)\n\nIt is created to enable trading for [PFund.ai] - a trading platform that bridges algo-trading and manual trading using AI (LLM).\n\nSince PFund's sole purpose is for trading only, for all the data work, there is a separate library to handle that: \\\n[PFeed] - Data pipeline for algo-trading, helping traders in getting real-time and historical data, and storing them in a local data lake for quantitative research.\n\n\n<details>\n<summary>Table of Contents</summary>\n\n- [Project Status](#project-status)\n- [Mission](#mission)\n- [Core Features](#core-features)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n  - [Backtesting](#backtesting)\n  - [Live Trading](#live-trading)\n  - [Parameter Training / Hyperparameter Tuning](#parameter-training--hyperparameter-tuning)\n  - [Building LEGO-Style Strategy and Model](#building-lego-style-strategy-and-model)\n- [Model Hub](#model-hub)\n- [Supported Trading Venues](#supported-trading-venues)\n- [Related Projects](#related-projects)\n- [Disclaimer](#disclaimer)\n\n</details>\n\n\n## Project Status\n**_Caution: PFund is at a VERY EARLY stage, use it at your own risk._**\n\nPFund is currently under active development, the framework design will be prioritized first over\nstability and scalability.\n\nPlease note that the available version is a *dev* version, not a *stable* one. \\\nYou are encouraged to play with the *dev* version, but only use it when a *stable* version is released.\n\n> PFund for the time being **_only supports vectorized backtesting_** using [Bybit] and Yahoo Finance data for testing purpose.\n\n\n## Mission\nAs an algo-trader, if you aim to quickly try out some trading ideas to see if they work, and if they do, deploy them for live traidng, it is actually not a trivial task since it involves multiple stages:\n- Ideation\n- Strategy development\n- Backtesting\n- Model development (if using machine learning)\n- Model training (if using machine learning)\n- Parameter training / hyperparameter tuning\n- Strategy deployment\n- Portfolio monitoring\n\nThis overview already omits some intricate steps, such as data handling and API integration.\n\n> PFund's mission is to **_enable traders to concentrate solely on strategy formulation_** while the framework manages the rest. With PFund serving as the core trade engine, it empowers retail traders to have a fund management experience on [PFund.ai] as if they are operating their personal hedge fund, hence the name *PFund*.\n\n\n## Core Features\n- [x] Easily switch environments with just one line of code, transitioning from backtesting to live trading\n- [x] Supports machine learning models, features, technical analysis indicators\n- [x] Both Strategy() and Model() are treated as first-class citizens\n- [x] Offers LEGO-style strategy and model building, allowing strategies to add other strategies, models to add other models\n- [x] Streamlines the algo-trading flow, from vectorized backtesting for strategy prototyping and event-driven backtesting for strategy development, to live trading for strategy deployment\n- [x] Enables parallel data processing, e.g. Interactive Brokers and Binance each have their own process for receiving data feeds\n- [ ] Allows choosing your preferred data tool, e.g. pandas, polars, pyspark etc.\n- [ ] Features a modern frontend using [Mantine UI] and TradingView's Charts library\n- [ ] Supports manual/semi-manual trading using the frontend\n\n\n## Installation\n\n### Using [Poetry] (Recommended)\n```bash\n# [RECOMMENDED]: trading + backtest\npoetry add \"pfund[data]\"\n\n# [Machine Learning]: trading + backtest + machine learning/technical analysis\npoetry add \"pfund[data,ml]\"\n\n# only trading\npoetry add pfund\n\n# update to the latest version:\npoetry update pfund\n```\n\n### Using Pip\n```bash\npip install pfund\n\n# install the latest version:\npip install -U pfund\n```\n\n### Checking your installation\n```bash\n$ pfund --version\n```\n\n\n## Quick Start\n### Backtesting\n```python\nimport pfund as pf\n\n# NOTE: for more exciting strategies, please visit pfund.ai\nclass YourStrategy(pf.Strategy):\n    # triggered by bar/kline data (e.g. 1-minute data)\n    def on_bar(self):\n        # write your trading logic here\n        pass\n\n\nengine = pf.BacktestEngine(mode='vectorized')\nstrategy = engine.add_strategy(YourStrategy(), name='your_strategy')\nstrategy.add_data(\n  'IB', 'AAPL', 'USD', 'STK', resolutions=['1d'],\n  backtest={\n    # NOTE: since IB does not provide any historical data for backtesting purpose, use data from 'YAHOO_FINANCE'\n    'data_source': 'YAHOO_FINANCE',\n    'start_date': '2024-01-01',\n    'end_date': '2024-02-01',\n  }\n)\nengine.run()\n```\n\n\n### Live Trading\n> Just change one line of code, from '**BacktestEngine**' to '**TradeEngine**'. BOOM! you can now start live trading.\n```python\nimport pfund as pf\n\nengine = pf.TradeEngine(env='LIVE')\nstrategy = engine.add_strategy(YourStrategy(), name='your_strategy')\nstrategy.add_data(\n  'IB', 'AAPL', 'USD', 'STK', resolutions=['1d'],\n  # for convenience, you can keep the kwarg `backtest`, `TradeEngine` will ignore it\n  backtest={\n    # NOTE: since IB does not provide any historical data for backtesting purpose, use data from 'YAHOO_FINANCE'\n    'data_source': 'YAHOO_FINANCE',\n    'start_date': '2024-01-01',\n    'end_date': '2024-02-01',\n  }\n)\nengine.run()\n```\n\n### Parameter Training / Hyperparameter Tuning\n> The correct term should be \"Hyperparameter Tuning\", but since not all traders are familiar with machine learning, the framework uses a more well-known term \"training\".\n\n```python\nimport pfund as pf\n\nengine = pf.TrainEngine()\nstrategy = engine.add_strategy(...)\nstrategy.add_data(...)\nstrategy.add_indicator(...)\nengine.run()\n```\n\n### Building LEGO-Style Strategy and Model\n```python\nimport pfund as pf\n\nengine = pf.TradeEngine(env='LIVE')\nstrategy = engine.add_strategy(...)\nstrategy.add_data(...)\nmodel = strategy.add_model(...)\n\nmodel.add_data(...)  # using different data than strategy's\nsub_model = model.add_model(...)  # YES, model can add another model to its use\n# You can keep going: \n# sub_sub_model = sub_model.add_model(...)\n\nengine.run()\n```\n\n\n## Model Hub\nImagine a space where algo-traders can share their machine learning models with one another.\nStrategy and model development could be so much faster since you can build on top of an existing working model.\n> Model Hub is coming soon on [PFund.ai], Stay Tuned!\n\n\n## Supported Trading Venues\n| Trading Venue             | Vectorized Backtesting | Event-Driven Backtesting | Paper Trading | Live Trading |\n| ------------------------- | ---------------------- | ------------------------ | ------------- | ------------ |\n| Bybit                     | \ud83d\udfe2                     | \ud83d\udfe1                       | \ud83d\udfe1            | \ud83d\udfe1           |\n| *Interactive Brokers (IB) | \ud83d\udfe1                     | \ud83d\udfe1                       | \ud83d\udfe1            | \ud83d\udfe1           |\n| Binance                   | \ud83d\udd34                     | \ud83d\udd34                       | \ud83d\udd34            | \ud83d\udd34           |\n| OKX                       | \ud83d\udd34                     | \ud83d\udd34                       | \ud83d\udd34            | \ud83d\udd34           |\n| *Alpaca                   | \ud83d\udd34                     | \ud83d\udd34                       | \ud83d\udd34            | \ud83d\udd34           |\n| *[Futu]                   | \ud83d\udd34                     | \ud83d\udd34                       | \ud83d\udd34            | \ud83d\udd34           |\n| dYdX                      | \ud83d\udd34                     | \ud83d\udd34                       | \ud83d\udd34            | \ud83d\udd34           |\n\n\ud83d\udfe2 = finished \\\n\ud83d\udfe1 = in progress \\\n\ud83d\udd34 = todo \\\n\\* = use a **_separate data source_** (e.g. [FirstRate Data]) for backtesting\n\n\n## Related Projects\n- [PFeed] \u2014 Data pipeline for algo-trading, helping traders in getting real-time and historical data, and storing them in a local data lake for quantitative research.\n- [PyTrade.org] - A curated list of Python libraries and resources for algorithmic trading.\n\n\n## Disclaimer\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nThis algo-trading framework is intended for educational and research purposes only. It should not be used for real trading without understanding the risks involved. Trading in financial markets involves significant risk, and there is always the potential for loss. Your trading results may vary. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this platform.\n\nThe developers of this framework are not responsible for any financial losses incurred from using this software. Users should conduct their due diligence and consult with a professional financial advisor before engaging in real trading activities.",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A Complete Algo-Trading Framework for Machine Learning, enabling trading across TradFi, CeFi and DeFi. Supports Vectorized and Event-Driven Backtesting, Paper and Live Trading",
    "version": "0.0.1.dev12",
    "project_urls": {
        "Documentation": "https://pfund-docs.pfund.ai",
        "Homepage": "https://pfund.ai",
        "Repository": "https://github.com/PFund-Software-Ltd/pfund"
    },
    "split_keywords": [
        "trading",
        " algo-trading",
        " stocks",
        " cryptos",
        " cryptocurrencies",
        " tradfi",
        " cefi",
        " defi",
        " portfolio management",
        " investment",
        " backtesting",
        " machine learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8df67024e3878d84b253ba4d91807745b4b59cb085d7cffb11c8d83769a782f6",
                "md5": "34be1ee9e2b579088a0ab097c754a3f2",
                "sha256": "0ce5e4b716065c0e38239a20340a4b51e8e52cc2cfdb1ca6a65acbb23e488b7e"
            },
            "downloads": -1,
            "filename": "pfund-0.0.1.dev12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "34be1ee9e2b579088a0ab097c754a3f2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.10",
            "size": 277273,
            "upload_time": "2024-04-18T09:25:05",
            "upload_time_iso_8601": "2024-04-18T09:25:05.867313Z",
            "url": "https://files.pythonhosted.org/packages/8d/f6/7024e3878d84b253ba4d91807745b4b59cb085d7cffb11c8d83769a782f6/pfund-0.0.1.dev12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c3459223d1bf9363d5c70379fe391082cc7a27feb20690484923dad114a12a0",
                "md5": "7766e3dc8436a716af363102ab65c199",
                "sha256": "6866cff6bf4e2d2568098f02d264e5e606635a26fa20a8a2551eec3c9951eb63"
            },
            "downloads": -1,
            "filename": "pfund-0.0.1.dev12.tar.gz",
            "has_sig": false,
            "md5_digest": "7766e3dc8436a716af363102ab65c199",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.10",
            "size": 227789,
            "upload_time": "2024-04-18T09:25:08",
            "upload_time_iso_8601": "2024-04-18T09:25:08.357239Z",
            "url": "https://files.pythonhosted.org/packages/9c/34/59223d1bf9363d5c70379fe391082cc7a27feb20690484923dad114a12a0/pfund-0.0.1.dev12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-18 09:25:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PFund-Software-Ltd",
    "github_project": "pfund",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pfund"
}
        
Elapsed time: 0.23319s