如何使用Excel计算策略
Excel是快速计算和模拟的绝佳试验场。以下是最小的"工具包",可用于测试无代码的想法:表(Ctrl+T),结构化链接,动态数组,汇总表,"假设分析"(Goal Seek,数据表,脚本管理器),RAND上的蒙特卡洛(),以及用于选择赌注大小的Solver。
1)基本档桉结构(3张工作表)
"选项"表格'
"赌注"(小说)- "银行_开始"
- "HF"(获胜旋转比例,如果需要)
- 'q_≥×10'(有意义的事件的机会)
- `Spin` (1…N)
- "Bet"(=参数[投注])
- "U"(=RAND())-均匀随机的
- "X"(乘法器)-按累积表
- `Win` (=BetX)
- `Hit` (=`--(X>0)`)
- `Hit_≥×10` (=`--(X>=10)`)
- `Net` (=Win−Bet)
- "银行"(累积自"银行_开始")
李斯特"报告"
汇总表/图表:奖金分配,累积银行,频率,间隔。
2)如何将RAND()变成"旋转支付"
在"选项"上,设置累积: 在'tblSpins [X]'中,使用累积搜索:- 制作命名的"CumP"和"ValsX"系列。
=XLOOKUP([@U], CumP, ValsX,, 1)参数"1"给出了"小于或等于"(步进函数)的搜索。
替代方案(没有XLOOKUP):
=INDEX(ValsX, MATCH([@U], CumP, 1))3)等待频率和间隔
Hit Frequency(HF)样本:
=AVERAGE(tblSpins[Hit])
=AVERAGE(tblSpins[Hit_≥×10])事件前间隔(几何近似值): 如果阈值参数具有概率"q"(来自"参数"),则
平均间隔: '=1/q'
中位数: '=ROUNDUP(LN(0。5)/LN(1-q),0)`
逻辑中的经验间隔:- 创建辅助列"Schyotchik_bez_≥×10",该列在命中时重置为0,然后生长1。"命中"时刻的值列表是间隔。通过它们读取中位数和Percentile (PERCENTILE/QUARTILE)。
4)RTP,散布和缩小
实际RTP:
=SUM(tblSpins[Win])/SUM(tblSpins[Bet])百分率× 100%。
损失系列(L-streak):- "Lose"="-(tblSpins [Win] - "L_Run"="当前系列长度"列(具有IF的公式和对上一行的引用)
- "MAX (L_Run)"是最大系列。
最大缩写(max drawdown)
"Peak"="Bank"的"累积最大值"列: '=MAX([@[Bank]];前面[Peak])"
"DD"="=[@Peak]-[@Bank]"列]'
'MAX (DD)'-深度;'MAX (DD)/Bank_start'-银行股份。
5)汇总表和图表
乘数直方图:用"X"篮子分组(≤×1,× 1-× 5,× 5-× 20,≥×20)。
银行行:"银行"图表"Spin"。
"重要"热门歌曲的累积频率:每100/500旋转块的点击率。
如果保留通用日志,Slicers将允许按插槽/策略过滤。
6)"万一"分析: Goal Seek,数据表,脚本
Goal Seek(选择参数)- "找到降息中位数≤ 150个降息的比率。"
- "寻找起始银行来生存两个中位数≥×10间隔。"
数据表(1因子和2因子)
轴参数:比率和会话长度。
模型单元格中的度量:完成≥0%或中位下垂的机会。
表格将返回结果网格以进行视觉选项选择。
脚本管理器
Flat,软进步,硬进步,购买奖金-一组固定参数(投注/退出规则)。
7)蒙特卡洛(一个公式)
想法:将M"迷你会议"推向N旋转,并收集结果分配。
Excel 365(动态数组),在"报告"页面上:1.参数:'N=1000'(自旋),'M=1000'(会话)。
2.生成"N × M"大小的"U"矩阵:
=RANDARRAY(N;M)- 创建LAMBDA 'Fdraw (u)=XLOOKUP (u;CumP;ValsX;;1)`
=MAP(RANDARRAY(N;M);LAMBDA(u;Fdraw(u)))
=BYCOL(X_mat;LAMBDA(col;SUM(colStakes)-NStawka)5.根据"结果"向量,计算分数,均值,≥0%的份额等。
8)置信区间(无VBA)
有一个经验列"X"(每个自旋的乘法)。进行索引数组:
=RANDBETWEEN(1;ROWS (X)//N长度矢量
=INDEX(X;索引)计算平均/分位数;在"M"(BYCOL)列上重复-获得RTP/HF/分位数的分数分布和置信区间。
9)投注策略比较
添加带有策略规则的"Bet"列:- Flat:"=参数[赌注]"
- 温和的进展:'=IF(Lose;Bet1,2;参数[赌注])'(示例)
- '=IF(银行<=银行_start-StopLoss;0;IF (Bank>=Bank_start+TakeProfit;0;Bet))`
- 零利率将"停止"会话。然后比较标记/脚本:中位数结果、IQR、max drawdown、≥0%的机会。
10)Solver: 从银行挑选利率份额
目标:最大限度地减少第95次沉降的风险或最大程度地提高在"f"变量(利率="fBank_当前",带有"≥0"限制)下完成0 目标单元:风险/成功指标。 可更改:"f"。 限制:"f_min≤f≤f_max";"破坏≤目标的风险"。 Solver将根据您的模拟(可能需要降低N/M)进行"f"。 11)文章/客户报告(模板) RTP/策略插槽/版本: ……/……/flat/进展 12)频繁的错误以及如何避免错误 在单个样本中混合RTP插槽/版本-结果无效。 没有间隔的短系列(≤1000旋转)的结论是一个轶事,不是统计数据。 不固定种子的RAND()-比较单个"U"集上的策略:在所有脚本中使用一个随机数阵列(取消"噪声")。 进步是为了获得"紧急补偿"-改变分配形式而不是期望。 缺乏沉降控制-始终考虑最大拖曳和"沙漠"持续时间。 13)微型海德Excel 365功能(替换) XLOOKUP/XMATCH-阈值搜索(VLOOKUP/MATCH替代)。 LET/LAMBDA-将模型设计为功能(重复使用)。 SEQUENCE/RANDARRAY/BYROW/BYCOL/MAP/SCAN是用于Monte Carlo和聚合的动态数组。 PERCENTILE.INC / QUARTILE.INC-quantili;COUNTIFS/SUMIFS-篮子。 没有365?使用INDEX+MATCH、大型公式(Ctrl+Shift+Enter)、数据表而不是MAP/BYCOL。 底线:Excel允许在几个小时内组装一个工作实验室,用于策略:从通过给定分布生成结果到蒙特卡洛,并报告RTP,命中率,间隔和缩写。在相同的噪音上比较策略,显示分位数和置信区间,使用"如果"和Solver来选择赌注和限制。所以你会得到关于风险和可持续性的可复制结论-没有幻想和"时间"。
