Fetches and caches ETF data daily, from csv download or api, and saves the data to a parquet file https://api.NexVeridian.com
Find a file
2024-12-17 13:35:26 -08:00
.cargo 0.3.11 2023-06-29 00:39:46 +00:00
.devcontainer anyhow 2023-11-21 19:07:47 +00:00
.github/workflows anyhow 2023-11-21 19:07:47 +00:00
.vscode 0.2.2 2023-06-08 03:25:11 +00:00
src fix: ticker format 2024-10-03 11:23:12 -07:00
tests refactor: df format 2024-10-02 16:00:48 -07:00
.dockerignore 1.2.0 2023-11-20 11:41:23 -08:00
.gitignore refactor: move files 2024-10-02 16:00:44 -07:00
Cargo.toml feat: ticker format, test_utils, Makefile 2024-10-02 16:00:48 -07:00
CONTRIBUTING.md feat: ticker format, test_utils, Makefile 2024-10-02 16:00:48 -07:00
docker-compose.dev.yml IZRL and PRNT closes #1 2024-06-07 13:45:08 -07:00
docker-compose.yml IZRL and PRNT closes #1 2024-06-07 13:45:08 -07:00
Dockerfile 1.0.0 2023-07-24 16:20:14 -07:00
justfile fix: swap to justfile 2024-12-17 13:35:26 -08:00
LICENSE-Apache 1.2.0 2023-11-20 11:41:23 -08:00
LICENSE-MIT 1.2.0 2023-11-20 11:41:23 -08:00
NOTES.md 1.0.0 2023-07-24 16:20:14 -07:00
README.md readme update 2024-06-08 15:45:25 -07:00

Fetches and caches ETF data daily, from csv download or api, and saves the data to a parquet file

The code for the REST API is github.com/NexVeridian/ark-invest-api-rust and is hosted at api.NexVeridian.com

Not affiliated with Ark Invest

Install

Copy docker-compose.yml

Create data folder next to docker-compose.yml

├───data
│   └───parquet
├───docker-compose.yml

docker compose up --pull always

If building the parquet file from the first time use: ARK_SOURCE=ApiFull or ARK_SOURCE=ArkFundsIoFull

Afterwards use ARK_SOURCE=ApiIncremental

Changing the data source

In docker-compose.yml, change the data source by changing the environment variable

environment:
	- ARK_SOURCE=ApiIncremental

Env string ARK_SOURCE must be in the enum Source

pub enum Source {
    // Reads Parquet file if exists
    Read,
    // From ARK Invest
    Ark,
    // From api.NexVeridian.com
    #[default]
    ApiIncremental,
    // From api.NexVeridian.com, not usually nessisary, use ApiIncremental
    ApiFull,
    // From arkfunds.io/api, avoid using, use ApiIncremental instead
    ArkFundsIoIncremental,
    // From arkfunds.io/api, avoid using, use ApiFull instead
    ArkFundsIoFull,
}

License

All code in this repository is dual-licensed under either License-MIT or LICENSE-APACHE at your option. This means you can select the license you prefer. Why dual license