#投资 #平台 #Alpaca #配置 #自动化 #交易 #工具

bin+lib greed

A rust 工具,用于自动化交易 📈

10 个版本

1.0.0 2024年7月28日
0.3.0 2024年7月28日
0.2.4 2024年6月20日
0.2.1 2024年5月30日
0.1.1 2023年9月30日

#36 in 金融

Download history 146/week @ 2024-05-07 29/week @ 2024-05-14 11/week @ 2024-05-21 126/week @ 2024-05-28 132/week @ 2024-06-04 12/week @ 2024-06-11 271/week @ 2024-06-18 6/week @ 2024-06-25 170/week @ 2024-07-23 69/week @ 2024-07-30

每月239次下载

MITGPL-3.0-or-later

200KB
6K SLoC

greed

greed 是一个用于自动化交易的工具 📈

注意: 自行承担风险!此工具处于开发中,可能存在错误!

投资平台

目前,greed 支持以下投资平台

凭证

Alpaca

要使用 Alpaca,请将以下变量添加到您的环境中

export APCA_API_KEY_ID='<live_key_id>'
export APCA_API_SECRET_KEY='<live_secret_key>'

# The below can be used for paper trading. Invoke greed with -s to use paper trading.
export SIMULATED_APCA_API_KEY_ID='<paper_key_id>'
export SIMULATED_APCA_API_SECRET_KEY='<paper_secret_key>'

运行 Greed 🚀

要在模拟环境中运行 Greed,可以使用以下命令

greed run -s <path_to_config>

要在实时环境中运行 Greed,可以使用以下命令

greed run <path_to_config>

配置

简单配置

greed 支持简单的 CSV 格式进行简单配置。以下是一个示例配置

asset,amount,buy,sell,skip
$VTI ,50.0  ,5.0,1.0 ,false
SPY  ,25.0  ,1.0,    ,false
SKIP ,30.0  ,1.0,1.0 ,true
VEA  ,25.0  ,   ,2.0 ,

以下列受支持

  • asset: 要交易的资产
  • amount: 以总投资组合百分比表示的购买资产的数量。
  • buy: 低于中位数价格购买资产的百分比。
  • sell: 获利百分比购买资产。
  • skip: 如果为 true,则此行将被跳过。如果您的工作表中有您不想包含在配置中的行,这可能很有用。

高级配置

对于更高级的配置,greed 支持 TOML 配置文件。以下是一个示例配置

# The interval between each strategy run in seconds
interval = 300
# The platform to use for trading (alpaca)
platform = "alpaca"

[[strategies]]
# Each strategy can have an optional name
name = "ETF"

# Each stategy has for, when and do rules.
# In the following example we are buying $VTI when it is below the median price by 5% and selling when the gain is above 5%
[strategies.buy]
for = { stock = "$VTI" }
when = { below_median_percent = 5.0 }
do = { buy_percent = 10 }

# You can have as many strategies as you'd like in a single configuration.
[strategies.sell]
for = { stock = "$VTI" }
when = { gain_above_percent = 5.0 }
do = { sell_all = true }

[[strategies]]
name = "Chaos"

[strategies.buy]
for = { stock = "$UVXY" }
when = { below_median_percent = 2.0, median_period = "week" }
do = { buy_percent = 5 }

[strategies.sell]
for = { stock = "$UVXY" }
when = { gain_above_percent = 3.0 }
do = { sell_all = true }

依赖关系

~13–26MB
~402K SLoC