4 个版本 (破坏性更新)
0.4.0 | 2024年1月24日 |
---|---|
0.3.0 | 2023年6月22日 |
0.2.0 | 2023年6月15日 |
0.1.0 | 2023年5月24日 |
#10 in #market
54KB
1.5K SLoC
tastytrade-rs
Rust 库,用于通过 tastytrade API 进行股票市场交易。还有很多工作正在进行中。请参阅 tastytrade-cli 了解使用此库的更复杂应用程序的示例。
示例
let tasty = TastyTrade::login("username", "password", false)
.await
.unwrap();
let account = tasty.account("ABC12345")
.await
.unwrap()
.unwrap();
println!("{:#?}", account.balance().await);
println!("{:#?}", account.positions().await);
println!("{:#?}", account.live_orders().await);
let order_leg = OrderLegBuilder::default()
.instrument_type(InstrumentType::Equity)
.symbol("AAPL")
.quantity(1u64)
.action(Action::BuyToOpen)
.build()
.unwrap();
let order = OrderBuilder::default()
.time_in_force(TimeInForce::GTC)
.order_type(OrderType::Limit)
.price(dec!(170.0))
.price_effect(PriceEffect::Debit)
.legs(vec![order_leg])
.build()
.unwrap();
let dry_result = account.dry_run(&order).await;
println!("{dry_result:#?}");
// Outputs:
// DryRunResult {
// order: DryRunRecord {
// account_number: AccountNumber(
// "ABC12345",
// ),
// time_in_force: GTC,
// order_type: Limit,
// size: 1,
// underlying_symbol: Symbol(
// "AAPL",
// ),
// price: 170.0,
// price_effect: Debit,
// status: Received,
// cancellable: true,
// editable: true,
// edited: false,
// legs: [
// OrderLeg {
// instrument_type: Equity,
// symbol: Symbol(
// "AAPL",
// ),
// quantity: 1,
// action: BuyToOpen,
// },
// ],
// },
// warnings: [],
// buying_power_effect: BuyingPowerEffect {
// change_in_margin_requirement: 85.0,
// change_in_margin_requirement_effect: Debit,
// change_in_buying_power: 85.001,
// change_in_buying_power_effect: Debit,
// current_buying_power: 562.5,
// current_buying_power_effect: Credit,
// impact: 85.001,
// effect: Debit,
// },
// fee_calculation: FeeCalculation {
// total_fees: 0.001,
// total_fees_effect: Debit,
// },
// },
依赖项
~20–36MB
~472K SLoC