算一个股票收益问题
1、一个人,有10000元资金,可以买从1元到100元股票。2、这些股票按着1元到100元价格100天内服从线性规律涨幅从500%到100%。并且同一初始价格股票100天内每天涨幅相等。
3、假设交易费是每股每次0.1元,每天买入额按照前一天涨幅扣成本计算。
4、每天以前一交易日涨幅为开盘价买入,初始日以初始价买入,以计算出的当天涨幅为收盘价卖出,买卖各一次。
问:哪个价格股票收益率最高。
应该是涨幅最大的那个价格,即(初始)价格为 1 元的收益率最高。
对题目的文字描述有可能理解错误。
如果答案不是 1 元,则题目最好用数学语言、或用具体数字举例说明。 因为1元的股票交易手续费是0.1元,相当于交易额的10%,
100元的股票交易手续费也是0.1元,相当于交易额的0.1%,
所以,1元股票交易手续费费用太高,盈利比率低,上涨500%也不一定比100元股票高。 本帖最后由 Jack315 于 2024-2-18 10:47 编辑
虽然交易费用相差很大,但对涨幅而言都可忽略不计。
所以对收益率的影响也不大。
这个题在 Excel 里就可以计算。
按我的理解得到的结果:收益率与初始价格的关系是单调下降的。
也就是在 区间内,没有局部极值。
最大值在 1 处取得,最小值在 100 处取得。
不确定的是对题目的理解是否正确。
在金融领域,确实有很多数学方面的问题。
见的多的不是科学,更多的是负面的东东。 现在把题目重新描述一遍:
1. 初始资金 ¥10 000 。
2. 可交易的股票有无穷多种,初始价格范围为 \(\),即初始价格不以 ¥0.01 为变化单位。
3. 对于不同初始价格 \(x \in\),100 天的总涨幅为 \(R=\frac{500\%-100\%}{1-100}\times (x-100)+100\%\),且 100 天内每天有相同的涨幅 \(r\)。
4. 每天的开盘价为前一交易日的收盘价。第一天的开盘价为初始价格 \(x\) 。
5. 每天进行两次操作,买入和卖出各一次,买入价为每日的开盘价,卖出价为每日的收盘价。
6. 交易费用为每股 ¥0.10,买卖双向收费。
问:\(x\) 取何值时,100 天的总收益率取得最大值。
LZ 看看这个描述有没有问题?有没有更正和补充?
按照这个理解,应该有局部极大值。
初始价格如果按 ¥0.01 为变化单位或许会使问题变得稍微复杂一点,但也更接近“实际情况”。 Jack315 发表于 2024-2-18 11:49
现在把题目重新描述一遍:
1. 初始资金 ¥10 000 。
2. 可交易的股票有无穷多种,初始价格范围为 \( ...
你描述的好!比我说的清楚,谢谢。
关于股票的价格,我的想法是总计100个股,初始价格从1-100,都是整数。 Jack315 发表于 2024-2-18 10:35
虽然交易费用相差很大,但对涨幅而言都可忽略不计。
所以对收益率的影响也不大。
我和你想到一起了,用excel算了一下,由于1元股票,0.1的交易费成本过高,不是最大值。 本帖最后由 Jack315 于 2024-2-19 23:09 编辑
用 Excel 计算的结果:
1. 初始价格最小变动单位无限制:
这种情况,收益率曲线不光滑,求解不容易,
但“规划求解”还是给出了一个比较好的结果。
初始价格为 32.9011132119275 时,收益率取得最大值 245.13199330229%
2. 初始价格最小变动单位为 0.01:
初始价格为 32.18 时,收益率取得最大值 245.14%
股价总收益率曲线图:
3. 初始价格最小变动单位为 1:
初始价格为 33 时,收益率取得最大值 245%
本帖最后由 Jack315 于 2024-2-19 23:09 编辑
根据初始价格计算收益率的 VBA 函数:
Option Explicit
Const CAP As Double = 10000 ' 初始资金。
Public Function Profit(x)
Dim totalRate As Double
Dim dailyRate As Double
Dim i As Integer
Dim capital As Double
Dim openPrice As Double
Dim closePrice As Double
Dim volume As Double
' 计算总收益率。
totalRate = (5 - 1) / (1 - 100) * (x - 100) + 1
' 计算日均收益率。
dailyRate = Exp((Log(totalRate + 1)) / 100) - 1
' 计算 100 天交易。
capital = CAP
closePrice = x
For i = 1 To 100
openPrice = closePrice
closePrice = (1 + dailyRate) * openPrice
volume = Int(capital / (openPrice + 0.1))
capital = capital + (closePrice - openPrice - 0.2) * volume
Next i
Profit = capital / CAP - 1
End Function
【参考】
由总收益率 \(R\) 计算日均收益率 \(r\) 公式:
\((1+r)^{100}=1+R\) Jack315 发表于 2024-2-19 23:08
根据初始价格计算收益率的 VBA 函数:
【参考】
算的太好了!我用excle算的结果和你一样,谢谢。
页:
[1]
2