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 在 金融
122 每月下载量
235KB
4K SLoC
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 绑定
安装
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