19 个版本 (4 个重大更新)

0.6.0 2024 年 8 月 11 日
0.5.3 2024 年 7 月 6 日
0.5.0 2024 年 6 月 17 日
0.3.6 2024 年 1 月 15 日
0.2.9 2023 年 11 月 26 日

#18金融

Download history 1/week @ 2024-05-20 150/week @ 2024-06-17 395/week @ 2024-07-01 39/week @ 2024-07-08 72/week @ 2024-08-05 50/week @ 2024-08-12

122 每月下载量

MIT 许可证

235KB
4K SLoC

Finalytics

Crates.io Docs.rs License Homepage CodeFactor

Finalytics 是一个 Rust 库,旨在获取金融数据并执行安全分析和投资组合优化。

安装

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
finalytics = "*"

或者运行以下命令

cargo install finalytics

示例

查看 文档 获取更多信息。

use std::error::Error;
use finalytics::prelude::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {

    // Instantiate a Multiple Ticker Object
    let ticker_symbols = Vec::from(["NVDA", "GOOG", "AAPL", "MSFT", "BTC-USD"]);

    let tickers = TickersBuilder::new()
        .tickers(ticker_symbols)
        .start_date("2020-01-01")
        .end_date("2024-01-01")
        .interval(Interval::OneDay)
        .benchmark_symbol("^GSPC")
        .confidence_level(0.95)
        .risk_free_rate(0.02)
        .build();

    // Calculate the Performance Statistics of all the Tickers
    let performance_stats = tickers.performance_stats().await?;
    println!("{:?}", performance_stats);

    // Display the Security Analysis Charts
    tickers.returns_chart(None, None).await?.show();
    tickers.returns_matrix(None, None).await?.show();
    
    // Perform a Portfolio Optimization
    let portfolio = tickers.optimize_portfolio(ObjectiveFunction::MaxSharpe).await?;
    println!("{:?}", portfolio.performance_stats);

    // Display the Portfolio Optimization Charts
    portfolio.performance_stats_table(None, None)?.show();
    portfolio.optimization_chart(None, None)?.show();
    portfolio.performance_chart(None, None)?.show();
    portfolio.asset_returns_chart(None, None)?.show();

    Ok(())
}

Python 绑定

pypi License Homepage Documentation Status Platform Python Version PePy

安装

pip install finalytics

示例

查看 文档 获取更多信息。

from finalytics import Tickers

# Instantiate a Multiple Ticker Object
tickers = Tickers(symbols=["NVDA", "GOOG", "AAPL", "MSFT", "BTC-USD"],
                  start_date="2020-01-01",
                  end_date="2024-01-01",
                  interval="1d",
                  confidence_level=0.95,
                  risk_free_rate=0.02)

# Calculate the Performance Statistics of all the Tickers
print(tickers.performance_stats())

# Display the Security Analysis Charts
tickers.returns_chart().show()
tickers.returns_matrix().show()

# Perform Portfolio Optimization
portfolio = tickers.optimize()
print(portfolio.optimization_results())

# Display the Portfolio Optimization Charts
portfolio.optimization_chart().show()
portfolio.performance_chart().show()
portfolio.asset_returns_chart().show()
portfolio.performance_stats_table().show()

示例应用程序

股票行情图表查看器

此示例应用程序允许您基于 Finalytics 库执行安全分析。

投资组合图表查看器

此示例应用程序允许您基于 Finalytics 库执行投资组合优化。

依赖关系

~43–61MB
~1M SLoC