4 个版本
0.1.3 | 2024年4月26日 |
---|---|
0.1.2 | 2024年3月20日 |
0.1.1 | 2024年2月28日 |
0.1.0 | 2024年2月28日 |
#12 在 #technical-analysis
381 每月下载量
14KB
61 行
交易会话
一个基于Unix时间戳识别和验证交易会话的Rust包。
入门
将以下内容添加到您的
Cargo.toml
[dependencies] trading_sessions = "0.1.0"
功能
IdentifyTradingSession
: 从Unix时间戳确定交易会话。SessionVerification
: 验证给定的会话字符串是否与识别的交易会话匹配。SessionColumn
: 根据Unix时间戳向LazyFrame
添加 "Session" 列。
示例
IdentifyTradingSession
use trading_sessions::IdentifyTradingSession; let session_identifier = IdentifyTradingSession::new(1708574400); assert_eq!(session_identifier.identify_trading_session(), "Tokyo");
SessionVerification
use trading_sessions::SessionVerification; let verifier = SessionVerification::new(1708574400, "Tokyo".to_string()); assert!(verifier.verify());
SessionColumn
use polars::prelude::*; use trading_sessions::SessionColumn; let df = df! { "time" => [1708574400, 1708596000, 1708696800] }.unwrap(); let lazy_frame = df.lazy(); let mut session_column = SessionColumn::new(lazy_frame); session_column.apply_session_column(); let result_df = session_column.lazyframe.collect().unwrap(); assert_eq!(result_df.column("Session").unwrap().str_value(0).unwrap(), "Tokyo");
返回类型
成功操作返回表示交易会话的字符串或表示验证结果的布尔值。错误通常由调用代码处理,并取决于这些函数使用的上下文。
注意
- 该包假定所有时间戳都是UTC。
- 当前版本不考虑夏令时。
依赖项
~16–26MB
~409K SLoC