0

想后面怎么做的时候老是按过程式的方法在想,没法套到MMA的思路上,就先试着用Python看能不能把整个思路搭起来,后面再看用不用MMA
实现一下吧

事情起于这篇文章:
《集合啦!动物森友会》大头菜背后的那些事儿
有人反编译了动物之森中控制大头菜价格变化的代码。虽然佛系如我连每天按时上线看下大头菜价格都做不到,但用这个例子去学习些新知识还是能为这个漫长的假期增添些乐趣吧。

上面链接中的文章我认为可以分为三部分:

  1. 每周大头菜价格走势的变换方法
  2. 不同价格模型的具体内容
  3. 如何预测大头菜价格并分析当周价格模型

在本文中我尝试利用Mathematica 去还原上述的第一部分,即上周价格走势对当周价格走势的影响。

1

连接中的文章介绍了四种在动森中用于控制一周之内大头菜价格走势变化的模型,分别是 波动性3期型4期型 以及 持续下降型。在这里先不对各个价格模型的具体内涵进行介绍。

通过反编译发现上周的价格走势会对影响不同价格走势在下周出现的概率,具体概率分布表如下:


表中的第一列代表上周大头菜的价格走势,第一行则代表本周价格的可能走势,除此之外表中各单元代表在上周大头菜价格走势为其同行对应的模型的基础上,本周大头菜价格的走势是与其同列的第一行价格模型的概率。例如表中的第3行第2列数值为50%的单元格,代表的意思是在上周价格为3期型的前提下,本周价格趋势为波动型的概率为50%。初次之外价格走势还有一个条件是大头菜投资的第一周价格模型为4期型

可以发现每周价格的走势仅与前一周的价格走势有关,同时当周出现何种价格走势受到一个固定概率表的控制,符合 马尔可夫过程 后一状态仅与其相邻的前一状态有关的性质。

2

Mathematica 本身内涵了大量与随机过程有关的函数方法,其中也包含多种实现马尔可夫过程的方法。

2.1

具体到大头菜价格模型这个例子来说,其适用DiscreteMarkovProcess(离散马可夫过程) 这一方法。在Mathmatica 中DiscreteMarkovProcess 有不同的应用方式,我选择使用:
DiscreteMarkovProcess[i,m]
表示转移矩阵为 m 和初始状态为i的离散时间有限状态马可夫过程.,对应于大头菜上述表格即为价格走势的转移矩阵,整个过程的初始状态则为 4期型

2.2

利用DiscreteMarkovProcess 对大头菜价格走势进行建模:

pattenShift=DiscreteMarkovProcess[4,{{0.2,0.3,0.15,0.35},{0.5,0.05,0.2,0.25},{0.25,0.45,0.05,0.25},{0.45,0.25,0.15,0.15}}];

RandomFunction 可对此过程进行模拟,例如我们对前100周价格走势的情况进行模拟,并以散点图显示其中一次模拟结果:

ListPlot[RandomFunction[pattenShift,{0,100}],Filling->Axis,Ticks->{Automatic, {{1,“波动型”},{2,“3期型”},{3,“持续下降型”},{4,“4期型”}}}]


我们还可以用有向图的形式展示上面的价格走势变化过程:

Graph[cross,VertexLabels->{1->“波动型”,2->“3期型”,3->“持续下降型”,4->“4期型”},VertexSize->Small,EdgeLabels->With[{sm=MarkovProcessProperties[pattenShift,“TransitionMatrix”]},Flatten@Table[DirectedEdge[i,j]->sm[[i,j]],{i,4},{j,4}]],ImageSize->Large]

在图中4个黄色节点代表价格走势的4种可能,有向线的指向代表从上一周的价格走势模型向下一周价格走势模型变化的过程,不同有向线上的数值代表不同可能变化的概率。

此外还能够获得此过程的概率密度函数:

PDF[pattenShift[n], k] // PiecewiseExpand

{ 0.101533 ( 2.43627 + 1. ( − 0.317323 ) n − 1.31345 ( − 0.186112 ) n − 2.12282 ( − 0.0465646 ) n ) k = 2 − 0.144804 ( 1. ( − 0.317323 ) n + 2.39477 ( − 0.186112 ) n − 1.00342 ( − 0.0465646 ) n − 2.39135 ) k = 1 0.0666309 ( 3.88337 + 1. ( − 0.317323 ) n + 6.04373 ( − 0.186112 ) n + 4.08095 ( − 0.0465646 ) n ) k = 4 − 0.02336 ( 1. ( − 0.317323 ) n − 3.31477 ( − 0.186112 ) n + 8.63357 ( − 0.0465646 ) n − 6.3188 ) k = 3 \begin{array}{cc} \{ & \begin{array}{cc} 0.101533 \left(2.43627\, +1. (-0.317323)^n-1.31345 (-0.186112)^n-2.12282 (-0.0465646)^n\right) & k=2 \\ -0.144804 \left(1. (-0.317323)^n+2.39477 (-0.186112)^n-1.00342 (-0.0465646)^n-2.39135\right) & k=1 \\ 0.0666309 \left(3.88337\, +1. (-0.317323)^n+6.04373 (-0.186112)^n+4.08095 (-0.0465646)^n\right) & k=4 \\ -0.02336 \left(1. (-0.317323)^n-3.31477 (-0.186112)^n+8.63357 (-0.0465646)^n-6.3188\right) & k=3 \\\end{array} \\\end{array} {​0.101533(2.43627+1.(−0.317323)n−1.31345(−0.186112)n−2.12282(−0.0465646)n)−0.144804(1.(−0.317323)n+2.39477(−0.186112)n−1.00342(−0.0465646)n−2.39135)0.0666309(3.88337+1.(−0.317323)n+6.04373(−0.186112)n+4.08095(−0.0465646)n)−0.02336(1.(−0.317323)n−3.31477(−0.186112)n+8.63357(−0.0465646)n−6.3188)​k=2k=1k=4k=3​​
第3周不同大头菜价格模型的可能概率为:

DiscretePlot[PDF[pattenShift[2],k],{k,1,4},Ticks->{ {{1,“波动型”},{2,“3期型”},{3,“持续下降型”},{4,“4期型”}},Automatic}]

波动型的可能性较大,其次为4期型,后两位为3期型持续下降型
前100周大头菜价格走势曲不同模型的可能性为:

DiscretePlot3D[PDF[pattenShift[n],k],{n,0,100},{k,1,4},Ticks->{Automatic, {{1,“波动型”},{2,“3期型”},{3,“持续下降型”},{4,“4期型”}},Automatic}]

不同模型的概率分布和单独一周的类似。

3

利用离散马尔可夫过程实现了对不同周大头菜价格走势变化的模拟,之后我会继续尝试利用Mathematica 研究大头菜的价格变化,之后的计划是在还原不同价格走势模型,尝试预测大头菜价格变化。

动森大头菜价格变化分析(1)——不同价格走势的变换相关推荐

  1. 2020-03-12-脑电分析之线性与非线性变换

    layout title subtitle date author header-img catalog tags post 脑电分析之线性与非线性变换 EEG technology 2020-03- ...

  2. 钻石值钱吗?python分析近年钻石价格走势【包含图表分析】

    人生苦短,我用python 本节源码+数据集:点击此处跳转文末名片获取 一.数据描述 本文件探讨的数据集是有关钻石各种属性与价格, 数据集中有53,943颗钻石, 有10个特征(carat, cut, ...

  3. 单相与三相dq变换的对比分析(谐波的dq变换)

    1. 基本理念    单相dq变换和三相dq变换基本上是一致的,只不过三相dq变换多了一步abc−αβ\color{Red} abc-\alpha \betaabc−αβ,而这个变换的结果就是α\al ...

  4. 2022-2028年中国茶几玻璃行业市场研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国茶几玻璃行业市场行业相关概述.中国茶几玻 ...

  5. 2022-2028年中国离心机行业市场研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国离心机行业市场行业相关概述.中国离心机 ...

  6. 2022-2028年中国手机配件行业发展前景战略及投资风险预测分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了手机配件行业相关概述.中国手机配件行业运行环境.分析了中国手机配件行 ...

  7. 2022-2028年中国清水混凝土行业供需策略分析及市场供需预测报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了清水混凝土行业相关概述.中国清水混凝土行业运行环境.分析了中国清水混 ...

  8. 2022-2028年中国密胺塑料制品行业市场研究及前瞻分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了密胺塑料制品行业相关概述.中国密胺塑料制品行业运行环境.分析了中国密 ...

  9. 中国游戏媒体市场动态前景与竞争策略分析报告(2021-2026年)

    中国游戏媒体市场动态前景与竞争策略分析报告(2021-2026年) ************************************** [报告编号]: BG545473 [出版时间]: 20 ...

最新文章

  1. ORA-06502 when awr report produce
  2. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
  3. 【数据挖掘】数据挖掘简介 ( 6 个常用功能 | 数据挖掘结果判断 | 数据挖掘学习框架 | 数据挖掘分类 )
  4. a 中调用js的几种方法整理及使用推荐
  5. SAP收购sysbase
  6. oracle删除多条从js到java_一次oracle大量数据删除经历
  7. word公式插件_全套office零基础视频教程|200集视频+插件+模板,免费送!
  8. Ubuntu安装搜狗拼音和金山快盘
  9. leetcode-reverse words in a string
  10. cocos2d-2.0-x-2.0.3 批处理文件create-android-project.bat 创建工程缺失lib解决方法
  11. linux nfs会崩溃么,在linux上创建nfs遇到的问题。
  12. 【五级流水线CPU】—— 1. 初始框架搭建
  13. jQuery入门笔记
  14. Linux下安装Win10ARM,更多安卓旗舰机将可以安装运行Win10 ARM
  15. android shell强制删除文件夹_手机文件夹都是英文,看不懂、又不敢删?教你如何辨别、释放内存...
  16. Java适合初学者的编写软件分享
  17. OpenCV玩九宫格数独(一)——九宫格图片中提取数字
  18. 学习笔记 - 正态分布
  19. Linux——Bash Shell脚本 for循环
  20. GitKraKen 9.x|7.5.1|6.5.0 - 安装

热门文章

  1. 适当处理错误(捕获异常)
  2. 帝国cms首页写php,帝国cms常用标签汇总
  3. 卸载electron-builder打包出来的应用,删除用户数据
  4. AIX中经常使用的SMIT 的使用
  5. 【转】Tesla Autopilot
  6. 视频播放器是如何播放音视频的?
  7. 小白盒子无线打印服务器,小白智慧打印 打印机顶盒WIFI盒子开箱测评
  8. 研究记录02—EKF_SLAM ——2012.4 Joan Sola
  9. ROS2-Foxy-配置
  10. 用C#打开Windows自带的图片传真查看器