重庆市工业与应用数学学会(http://artsoncqu.eicp.top/cqsiam Chongqing Society for lndustrial and Applied Mathematics of China)


SCI论坛交流探讨金融证券 → 宏远股份申购策略(借助于DeepSeek工具实现编程计算)


  共有44人关注过本帖树形打印复制链接

主题:宏远股份申购策略(借助于DeepSeek工具实现编程计算)

帅哥哟,离线,有人找我吗?
sciadmin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:网管 帖子:2700 积分:8453 威望:0 精华:40 注册:2003/3/3 16:34:19
宏远股份申购策略(借助于DeepSeek工具实现编程计算)  发帖心情 Post By:2025/8/9 17:58:02 [只看该作者]

只介绍一些基本的机理供探讨,欢迎网友指正! 
由于顶格申购的股数是通过网上实际发行量的5%计算的,所以可以根据顶格申购145.73万股倒推回去,得到网上发行量2914.6万股。
正股的计算其实很简单,用总的发行股数去除申购资金,就能得到每元能摊到多少股,从而可以计算出获得100股需要的资金量,你的申报资金达不到100股,就只能贡献碎股了,顶格申购翻车道理一样,因此申购的总资金越高,你要获得100股需要的资金就越高,这是一道简单的算数题。
宏远股份申购策略资金需求分析(单位:万元)
 申购资金_亿元 正股门槛_万元 碎股门槛_万元 1+0策略    1+1策略    2+1策略
          7300         250.5           430                    263.025     430           501.0
          7400         253.9           430                    266.595     430           507.8
          7500         257.3           430                    270.165     430           514.6
          7600         260.8           430                    273.840     430           521.6
          7700         264.2           430                    277.410     430           528.4
          7800         267.6           350                    280.980     350           535.2
          7900         271.0           350                    284.550     350           542.0
          8000         274.5           350                    288.225     350           549.0
这是简单计算的结果,碎股如果顶格申购不翻车,分配线是很高的,如果翻车,直线下降,这个没有办法预先知道,都只能是推测,我们下面通过模拟试试正态分布下的模拟结果,先测算翻车线如下:
int_row num_row
    7300    5.33
    7400    5.26
    7500    5.19
    7600    5.12
    7700    5.06
    7800    4.99
    7900    4.93
    8000    4.87
7700接近临界了(实际是7790,网上已经有很多测算了,这个算出来不难)
我们下面就用这个7700进行均值模拟得到如下策略
 策略           均值         p5      p95
1 正股门槛 264.2261 247.5 281.405
2  1+1策略 399.4640 350.0 430.000
3  2+1策略 528.4521 495.0 562.810

正股门槛均值在264万,要有95%的置信度需要加到281万
1+1策略均值在399万,同样比较保险的值在430万
K+1主要是正股门槛了,这个是简单的倍数,不再赘述。



重庆SCI论坛主要服务于重庆高校师生,方便参与网上交流和提供快捷的联系渠道!欢迎对我们的网络管理提出意见!
 回到顶部
帅哥哟,离线,有人找我吗?
sciadmin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:网管 帖子:2700 积分:8453 威望:0 精华:40 注册:2003/3/3 16:34:19
  发帖心情 Post By:2025/8/9 17:58:33 [只看该作者]

#R代码
# 北证申购策略资金需求分析(宏远股份2025年8月11日申购)
# 核心参数初始化
W <- 1e4*145.73/0.05    # 网上发行量(股)通过顶格申购股数反推
P <- 9.17        # 发行价(元) [1,3](@ref)
T_range <- seq(7300, 8000, by=100) * 1e8  # 申购资金范围(元) [2,5](@ref)

# 正股门槛计算(100股整数倍)
calculate_F1 <- function(T_total) {
  R <- (W * P) / T_total  # 配售比例
  round(100 * P / R / 1e4, 1)  # 转换为万元,保留1位小数 [1](@ref)
}

# 碎股门槛修正模型(基于顶格翻车逻辑)
estimate_F2 <- function(T_total) {
  # 顶格翻车阈值7790亿 [3](@ref)
  if (T_total < 7790 * 1e8) {
    F2 <- 430  # 顶格未翻车时碎股门槛 [3](@ref)
  } else {
    F2 <- 350  # 顶格翻车释放碎股,门槛降低 [3](@ref)
  }
  return(F2)
}

# 主分析函数
analyze_strategy <- function() {
  # 计算各资金量下的门槛
  results <- data.frame(
    申购资金_亿元 = T_range/1e8,
    正股门槛_万元 = sapply(T_range, calculate_F1),
    碎股门槛_万元 = sapply(T_range, estimate_F2)
  )
  
  # 计算策略需求
  results$"1+0策略" <- results$正股门槛_万元 * 1.05  # 增加5%安全垫 [4](@ref)
  results$"1+1策略" <- pmax(results$正股门槛_万元, results$碎股门槛_万元)
  results$"2+1策略" <- 2 * results$正股门槛_万元
  
  # 输出结果
  cat("宏远股份申购策略资金需求分析(单位:万元)\n")
  print(results, row.names = FALSE)
  
  # 可视化
  par(mfrow=c(1,2))
  matplot(results$申购资金_亿元, results[,c("正股门槛_万元","碎股门槛_万元")], 
          type="l", lwd=2, col=c("blue","red"),
          xlab="申购资金(亿元)", ylab="资金需求(万元)",
          main="基础门槛分析")
  legend("topleft", legend=c("正股门槛","碎股门槛"), 
         col=c("blue","red"), lty=1:1, lwd=2)
  
  matplot(results$申购资金_亿元, results[,c("1+0策略","1+1策略","2+1策略")], 
          type="l", lwd=2, col=c("green","orange","purple"),
          xlab="申购资金(亿元)", ylab="资金需求(万元)",
          main="策略需求分析")
  legend("topleft", legend=c("1+0策略","1+1策略","2+1策略"), 
         col=c("green","orange","purple"), lty=1:1, lwd=2)
  
  return(results)
}

# 执行分析
result_data <- analyze_strategy()

# 蒙特卡洛模拟(考虑资金波动)
monte_carlo_sim <- function(n_sim=10000) {
  # 申购资金服从正态分布 [2](@ref)
  T_mean <- 7700 * 1e8
  T_sd <- 300 * 1e8  # 标准差300亿 [2](@ref)
  simulated_T <- rnorm(n_sim, T_mean, T_sd)
  
  # 模拟各策略需求
  simulated_F1 <- sapply(simulated_T, calculate_F1)
  simulated_F2 <- sapply(simulated_T, estimate_F2)
  simulated_1plus1 <- pmax(simulated_F1, simulated_F2)
  simulated_2plus1 <- 2 * simulated_F1
  
  # 分析分布
  par(mfrow=c(1,3))
  hist(simulated_F1, breaks=30, main="正股门槛分布", 
       xlab="万元", col="lightblue", xlim=c(240,300))
  abline(v=quantile(simulated_F1, c(0.05,0.95)), col="red", lty=2)
  
  hist(simulated_1plus1, breaks=30, main="1+1策略分布", 
       xlab="万元", col="lightgreen", xlim=c(350,450))
  abline(v=quantile(simulated_1plus1, c(0.05,0.95)), col="red", lty=2)
  
  hist(simulated_2plus1, breaks=30, main="2+1策略分布", 
       xlab="万元", col="lightpink", xlim=c(500,650))
  abline(v=quantile(simulated_2plus1, c(0.05,0.95)), col="red", lty=2)
  
  return(data.frame(
    策略 = c("正股门槛", "1+1策略", "2+1策略"),
    均值 = c(mean(simulated_F1), mean(simulated_1plus1), mean(simulated_2plus1)),
    p5 = c(quantile(simulated_F1, 0.05), 
           quantile(simulated_1plus1, 0.05),
           quantile(simulated_2plus1, 0.05)),
    p95 = c(quantile(simulated_F1, 0.95),
            quantile(simulated_1plus1, 0.95),
            quantile(simulated_2plus1, 0.95))
  ))
}

# 执行模拟
mc_results <- monte_carlo_sim()
cat("\n蒙特卡洛模拟结果(95%置信区间,单位:万元):\n")
print(mc_results)

  # 顶格翻车阈值估算(由5+1变成4+1对应的申购总金额就是翻车阈值)
df <- data.frame(
  int_row = as.integer(round(result_data[, 1], 0)),
  num_row = round(145.73 * 9.17 / result_data[, 2], 2)
)
print(df, row.names = FALSE)



重庆SCI论坛主要服务于重庆高校师生,方便参与网上交流和提供快捷的联系渠道!欢迎对我们的网络管理提出意见!
 回到顶部
重庆市工业与应用数学学会成立于2002年12月21日,重庆大学党委书记、重庆市科协主席祝家麟教授担任首届理事长,第二任理事长是数学建模全国组委会委员、重庆赛区主任,重庆大学杨虎教授,现任理事长是杨虎教授