gpt4 book ai didi

mysql - 支持股票拆分/合并的股票投资组合数据库设计

转载 作者:搜寻专家 更新时间:2023-10-30 23:45:20 25 4
gpt4 key购买 nike

我目前正在创建一个 Web 应用程序来管理我的股票投资组合,但是当涉及到交易表时,我有一些问题想请教。

以下是我的股票交易表设计:

|   column name  |       datatype       |
|----------------|----------------------|
| id | int(10) | primary key, auto increment
| portfolio_id | int(10) | reference to portfolio table primary key
| symbol | varchar(20) | stock symbol e.g: YHOO, GOOG
| type | ENUM('buy','sell') |
| tx_date | DATE |
| price | DOUBLE(15,2) |
| volume | int(20) |
| commission | DOUBLE(15,2) |
| created_at | TIMESTAMP |
| updated_at | TIMESTAMP |

在我当前的设计中,我没有额外的表来存储股票代码。我生成了一个股票代码列表(使用一些股票 api)供用户在尝试创建新交易记录时选择,我认为这种方法在股票拆分/合并时可能会导致一些问题,因为我可能不会能够使用相同的代码再次检索股票价格。

我想知道我应该如何修改我的表,以支持股票拆分/合并案例?

最佳答案

股票拆分

... symbol type   shares ...
... AAPL split 100 ...

2 分 1 次; 100股变成200股。

股息

symbol  type  amount
AAPL div 20.00

合并

解决方法:将合并记录为出售旧股票和购买新股票。在“备注”栏中添加适当的备注。

更准确(但也更复杂)的策略是重新设计整个数据库,以便每笔交易实际上是一笔交易与另一笔交易的交易。 “买入”以现金换股票。 “卖出”交易股票换取现金。合并将股票 A 换成股票 B。拆分将 0 股换成 100 股,等等。现金只是另一种 Assets 类别。

国外股票

所有主要金融网站都知道这一点。 symbol.exchange 是一个唯一的 id。无需重新发明轮子并创建新的 id 列。

您还需要为外国股票添加一个货币栏。

关于mysql - 支持股票拆分/合并的股票投资组合数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29505218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com