JacksonQuery


NameJacksonQuery JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/nathanramoscfa/JacksonQuery
SummaryAutomated interaction and data extraction tool for Jackson National Life Insurance website
upload_time2023-06-10 21:29:35
maintainer
docs_urlNone
authorNathan Ramos, CFA®
requires_python>=3.11
license
keywords automation jackson scraping selenium
VCS
bugtrack_url
requirements beautifulsoup4 bt ffn fuzzywuzzy keyring matplotlib numpy pandas patsy seaborn selenium setuptools statsmodels tiafork tika tqdm
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # JacksonQuery

JacksonQuery is a Python package designed to automate the process of downloading, parsing, and analyzing web content 
from the Jackson National Life (JNL) Insurance website located at www.jackson.com. Its main objective is to facilitate 
investment advisers in making informed decisions about variable annuity subaccount investments.

This package finds, downloads, and parses content of all the variable annuity subaccount prospectuses and Morningstar 
reports found on the JNL website. The parsed content is processed into data structures, enabling easy and efficient data 
analysis. Additionally, JacksonQuery provides a factor model and a portfolio optimization module, automating the 
investment selection and portfolio construction process.

The JNL website provides data on their variable annuity subaccounts only in the form of fund prospectuses and 
Morningstar reports, all in PDF format. There are approximately 120 JNL variable annuity subaccounts for their 
Perspective L product, and the task of going through all of this data is daunting for investment advisers. JacksonQuery 
aims to minimize heuristics and maximize statistical methods in decision-making for investment advisers, making it 
easier to choose the most appropriate subaccounts for their clients.

## Features
- Automated Web Navigation: Automatically logs into the JNL website, navigates to the necessary pages, and handles any 
pop-ups or prompts along the way.
- Data Extraction: Fetches the most recent prospectuses and Morningstar reports for all variable annuity 
subaccounts.
- Advanced Parsing: Utilizes the powerful tika library to parse PDFs and organize the data into easily analyzable 
structures.
- Factor Modeling: Implements a factor model to analyze the performance of the subaccounts.
- Portfolio Optimization: Provides a module to automate the process of creating optimal portfolios based on the parsed 
data.

## Installation
JacksonQuery is available on PyPI and can be installed via pip:
```
pip install jacksonquery
```

## Usage
See the [examples](https://github.com/nathanramoscfa/JacksonQuery/tree/master/examples) directory for usage examples.

## Disclaimer
JacksonQuery is not affiliated with Jackson National Life Insurance Company in any way. This package is not intended to
be used for any purpose other than for educational purposes. Past performance is not indicative of future results. The 
authors of this package are not responsible for any financial losses that may occur as a result of using this package. 
Use at your own risk. 

## License
[MIT](https://choosealicense.com/licenses/mit/)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nathanramoscfa/JacksonQuery",
    "name": "JacksonQuery",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "",
    "keywords": "automation,jackson,scraping,selenium",
    "author": "Nathan Ramos, CFA\u00ae",
    "author_email": "info@nrcapitalmanagement.com",
    "download_url": "https://files.pythonhosted.org/packages/27/ef/aeb76f8e394b45a94e702553b273214bbbeeeeff11628d5cf6b48446720b/JacksonQuery-0.0.1.tar.gz",
    "platform": null,
    "description": "# JacksonQuery\r\n\r\nJacksonQuery is a Python package designed to automate the process of downloading, parsing, and analyzing web content \r\nfrom the Jackson National Life (JNL) Insurance website located at www.jackson.com. Its main objective is to facilitate \r\ninvestment advisers in making informed decisions about variable annuity subaccount investments.\r\n\r\nThis package finds, downloads, and parses content of all the variable annuity subaccount prospectuses and Morningstar \r\nreports found on the JNL website. The parsed content is processed into data structures, enabling easy and efficient data \r\nanalysis. Additionally, JacksonQuery provides a factor model and a portfolio optimization module, automating the \r\ninvestment selection and portfolio construction process.\r\n\r\nThe JNL website provides data on their variable annuity subaccounts only in the form of fund prospectuses and \r\nMorningstar reports, all in PDF format. There are approximately 120 JNL variable annuity subaccounts for their \r\nPerspective L product, and the task of going through all of this data is daunting for investment advisers. JacksonQuery \r\naims to minimize heuristics and maximize statistical methods in decision-making for investment advisers, making it \r\neasier to choose the most appropriate subaccounts for their clients.\r\n\r\n## Features\r\n- Automated Web Navigation: Automatically logs into the JNL website, navigates to the necessary pages, and handles any \r\npop-ups or prompts along the way.\r\n- Data Extraction: Fetches the most recent prospectuses and Morningstar reports for all variable annuity \r\nsubaccounts.\r\n- Advanced Parsing: Utilizes the powerful tika library to parse PDFs and organize the data into easily analyzable \r\nstructures.\r\n- Factor Modeling: Implements a factor model to analyze the performance of the subaccounts.\r\n- Portfolio Optimization: Provides a module to automate the process of creating optimal portfolios based on the parsed \r\ndata.\r\n\r\n## Installation\r\nJacksonQuery is available on PyPI and can be installed via pip:\r\n```\r\npip install jacksonquery\r\n```\r\n\r\n## Usage\r\nSee the [examples](https://github.com/nathanramoscfa/JacksonQuery/tree/master/examples) directory for usage examples.\r\n\r\n## Disclaimer\r\nJacksonQuery is not affiliated with Jackson National Life Insurance Company in any way. This package is not intended to\r\nbe used for any purpose other than for educational purposes. Past performance is not indicative of future results. The \r\nauthors of this package are not responsible for any financial losses that may occur as a result of using this package. \r\nUse at your own risk. \r\n\r\n## License\r\n[MIT](https://choosealicense.com/licenses/mit/)\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Automated interaction and data extraction tool for Jackson National Life Insurance website",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://github.com/nathanramoscfa/JacksonQuery"
    },
    "split_keywords": [
        "automation",
        "jackson",
        "scraping",
        "selenium"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4079ad9181a5156da048141aba65816d84b3d466363269d6f2dbf77d2d7d46e",
                "md5": "787aa80910f7e94af18559cbe1f8e697",
                "sha256": "7d7591ce19a1218abf4dfba08a9dc95f621a5611d072cd6660f0696419bc21f2"
            },
            "downloads": -1,
            "filename": "JacksonQuery-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "787aa80910f7e94af18559cbe1f8e697",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 31076,
            "upload_time": "2023-06-10T21:29:33",
            "upload_time_iso_8601": "2023-06-10T21:29:33.524277Z",
            "url": "https://files.pythonhosted.org/packages/b4/07/9ad9181a5156da048141aba65816d84b3d466363269d6f2dbf77d2d7d46e/JacksonQuery-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27efaeb76f8e394b45a94e702553b273214bbbeeeeff11628d5cf6b48446720b",
                "md5": "db9945a4e15adaaeabded2d4b8595112",
                "sha256": "fe74dc8cfc9373b52e8d5d3cfafa27ff8c178b622489f025d0d855fc3ee16d04"
            },
            "downloads": -1,
            "filename": "JacksonQuery-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "db9945a4e15adaaeabded2d4b8595112",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 24553,
            "upload_time": "2023-06-10T21:29:35",
            "upload_time_iso_8601": "2023-06-10T21:29:35.631899Z",
            "url": "https://files.pythonhosted.org/packages/27/ef/aeb76f8e394b45a94e702553b273214bbbeeeeff11628d5cf6b48446720b/JacksonQuery-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-10 21:29:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nathanramoscfa",
    "github_project": "JacksonQuery",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    ">=",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "bt",
            "specs": [
                [
                    ">=",
                    "0.2.9"
                ]
            ]
        },
        {
            "name": "ffn",
            "specs": [
                [
                    ">=",
                    "0.3.6"
                ]
            ]
        },
        {
            "name": "fuzzywuzzy",
            "specs": [
                [
                    ">=",
                    "0.18.0"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    ">=",
                    "23.13.1"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.7.1"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.23.5"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "1.5.3"
                ]
            ]
        },
        {
            "name": "patsy",
            "specs": [
                [
                    ">=",
                    "0.5.3"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    ">=",
                    "0.12.2"
                ]
            ]
        },
        {
            "name": "selenium",
            "specs": [
                [
                    ">=",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    ">=",
                    "66.0.0"
                ]
            ]
        },
        {
            "name": "statsmodels",
            "specs": [
                [
                    ">=",
                    "0.13.5"
                ]
            ]
        },
        {
            "name": "tiafork",
            "specs": [
                [
                    ">=",
                    "1.2.2"
                ]
            ]
        },
        {
            "name": "tika",
            "specs": [
                [
                    ">=",
                    "2.6.0"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.65.0"
                ]
            ]
        }
    ],
    "lcname": "jacksonquery"
}
        
Elapsed time: 0.09263s