奇趣编程|对炒股的一点思考

股票是什么东西?

股票它不是东西,因为它根本没有实物,它不像银票、钞票一样,是可以兑换真金白银的真实的东西。

那股票是什么?

股票只不过是一串记在电脑帐本上的数字,是你用银行卡存款余额兑换成某公司发行的积分,类似超市购物卡上的积分。

那炒股又是什么?

炒股就像是一群办理了某超市会员卡的人,大家互相买卖会员卡积分。由于是多人随机交易,所以会员卡积分的价格产生了波动,路过的人看到积分价格的波动,也参与进来赚差价,于是炒会员卡积分的市场形成了。

积分买卖,并没有对超市的实物产生影响,只不过是电脑记帐数据上的变化,积分哪怕炒得再高,积分能兑换到的实物数量也没有改变,一个玩具熊在积分价格为1元时需要50积分兑换,在积分价格为1000元时,仍然需要50积分兑换。

在这个炒积分的市场里,由于存在积分价格波动,肯定会有人盈利有人亏损。但这个炒积分的市场是由超市控制的,它完全可以操作这些数据,即使没有积分交易,它也可以做出虚假数据,它还可以随时增发积分,它想发行多少就发行多少,甚至随时更改游戏规则。也就是说,超市想割哪一方就割哪一方,想怎么操盘就怎么操盘。

当然,上面炒积分只是一个比喻,和现实中的股票市场还是有差别的,发行股票的公司要接受国家监管的,不能做假帐,不能内幕交易等等。但本质上,它就是一个多方博弈的游戏。

奇趣编程|如何利用股票技术指标预测对手动作?

股价的波动真的无规律吗?

股价的未来走势真的不受历史走势的影响吗?

技术指标真的不能预测吗?

今天奇趣编程和你一起换一个角度去想问题。

第一个问题,蚂蚁是怎么形成蚁路的?蚂蚁是根据前面蚂蚁所释放的信息素来走的,在某些路径上走过的蚂蚁越多,留下的信息素越多,后面的蚂蚁越会倾向于沿着信息素浓度高的路线走,该走哪条路,它有固定的判断依据。

第二个问题,红绿灯是怎么指挥交通的?司机被告知“红灯停绿灯行”,所以司机看到红灯就停,看到绿灯就行,是停还是行,他有固定的判断依据。

第三个问题,技术指标是如何影响散户的?散户总是被各种资讯和股评专家教育,各种技术指标分析层出不穷,很容易形成一种依据技术指标来决策的判断依据,比如“快均线从上向下穿过慢均线要跌”、“快均线从下往上穿过慢均线要涨”、“十字星是涨到顶或跌到底的标志”、“一根大阳柱是起飞信号”、“一根大阴柱是暴跌信号”等等,这些东西虽然是从历史经验中总结出来的,如果大家都不信都不按这个去做那这些技术指标肯定是没用的,但是这些经验被无数人重复教育给散户之后,它就变成了散户做决策时像信息素和红绿灯一样的判断依据。

当你知道对手的判断依据,就能预测他们的跟风逻辑和追涨杀跌的买卖点,从而提前布局。就像你和别人下围棋,如果你总是知道对手接下来几步会把棋子放在哪里,你还打不赢他吗?

奇趣编程|比较有效的预测股票涨跌走势的思路

用统计学量化交易的方式去预测股票涨跌走势,是可行的,关键点主要是用于预测的数据量要大、更新快、具有多样性,如果用软件来自动化处理,是可以实现的。目前有效的预测股票涨跌走势的思路有以下几个。

1.社交数据监测。股市说到底是多人博弈的局,按队伍可以分为多方和空方,如果多方实力强,股票就涨,如果空方实力强,股票就跌。双方实力情况,会间接反映在社交平台的数据上。比如说,当某家公司上了热搜,如果是正面的资讯,那它的股票就会上涨一波。比如说,疫情期间有制药公司或某款药品来蹭热点,大概率会涨停。

上市公司蹭热点虽然令人不齿,但确实一直存在这种流氓行为和社会现象,而监管也很难界定这种行为是否触及了红线。通过监测社交数据,及时捕捉热点,就能通过打短线赚一波。缺点是不能恋战,不管盈利多少,热度到顶就要抛,不然热度过了容易烂在手里。

2.情感倾向监测。对网络上的资讯和数据进行情感分析,如果大量的人长期对某家公司看涨或看跌,那就可以作为预判依据。比如说,目前网络上普遍对新能源、人工智能、3D打印等长期看好,虽然这些技术目前并未完全成熟,但如果等到成熟,股价早已经涨了N倍了,所以只要大方向正确,就要提前布局。

3.搜索量监测。搜索引擎平台都能查到某关键词的搜索量,通过对某些关键词的搜索量监测,可以找出搜索量和股价涨跌的关系。

比如说,“五菱”这个词自2011年至2021年一直都有每天2000次以上的搜索量,除了2018年-2020年热度下降外,其它所有年份都是呈现上涨趋势,再看资讯指数10年来一直稳定在20万以上,所以这支股票值得长期持有,在暴涨时可以适当变现一部分拿回本金,让剩下的利润自由生长。

再如,“茅台”这个词,自2011年至2021年一直都有每天1000次以上的搜索量,2017年起涨势比较明显,在2021年出现了暴涨,但它的资讯在2021年却是稳定下跌趋势,出现了搜索量与资讯量的背离,说明这种暴涨是缺少韭菜基础的诱多,所以不宜盲目跟涨,反而要考虑逃顶了。

再如,“特斯拉”这个词,自2011年至2021年搜索量一直都是上涨,资讯量也在一直上涨,在2021.01.04出现了针式暴涨一波,现在2021.03.09正在在针底,虽然股份跌了30%割了一批韭菜,但新韭菜还在不断生长,热度整体上还在继续缓慢高高,从趋势上看现在是补仓的时机而不是割肉的时机。

特斯拉十年搜索量
特斯拉十年搜索量
特斯拉十年资讯关注量
特斯拉十年资讯关注量

这些都是很值钱的思路,总结为一点,就是利用大数据来帮助分析预判,可以轻松看穿未来的趋势,让你明白什么时候是决策点,要做什么样的决策。

奇趣编程|用人工智能预测股票涨跌走势难在哪里?

用量化交易的方式来进行股票涨跌预测是发展了几十年的成熟的技术,那么用人工智能预测股票涨跌难在哪里呢?

1.从思路到算法之间的坑。股票交易中有很多交易数据,当想出一个思路后,面对着海量的数据,怎么对这些数据进行选取、分类、描述,需要花费很大的时间和精力。

2.回测的坑。根据思路弄出算法之后,用历史数据来验证算法的效果,然后对算法进行调整。但是这个过程中很容易过度调整算法以使算法的效果最大化。

3.实盘的坑。实盘过程中会遇到很多问题,比如网络不稳定导致数据延迟、丢失,比如软件的兼容性、容错性等等,任何一个坑都会导致算法本来应该是盈利的实盘中由于意外造成了亏损。

但是,上面这些坑都只不过是所有行业所有技术发展过程都会遇到的问题,只要解决了这些问题,或是降低了解决这些问题的成本,当成果出来之时,就是腾飞之时。

奇趣编程|是否能用人工智能判断预测股票涨跌?

这几年人工智能的发展非常快,并且有很多落地的应用,那么是否能用人工智能帮助人类预测股票涨跌?

首先要知道人工智能的工作原理。

有很多人工智能的算法是基于特征识别的,比如图像识别类型的人工智能,把一批狗的图像给它,告诉它这些是狗,人工智能算法可以自动从这些预训练图像里自动提取出N个特征,并记录具有这些特征的是狗。

然后,把一批猫的图像给它,告诉它这些是猫,人工智能算法又自动从这些图像里提取出N个特征,并记录具有这些特征的是猫。

人工智能算法对某个事物提取和记录的特征数量越多,识别的结果就越精细、准确。这些特征的数量有多少呢?可能是几个,也可能是几亿个。

人工智能的训练,其实就是数据采集和数据分析。先从训练的图像数据里采集特征,然后根据特征生成一个以N个特征为变量的判断逻辑。

人工智能的识别,就是数据的挖掘。比如给出一张没见过的图像,让它识别是狗还是猫,它就先从这张图像里提取N个特征,看符合狗的特征多些还是符合猫的特征多些,从而判断这张图像是狗还是猫。

举个例子,狗的特征有A1、A2、A3…..An,猫的特征有B1、B2、B3…..Bn,现在给出的图像具有的特征是“A3、A6、A8、A100、B5、B7、A200、A300、A500”,那符合狗的特征有7个,符合猫的特征有2个,就可以判断这张图像是狗。

这就是基于数据集的人工智能识别,如果对这些数据集进一步提炼成方程组,就可以不需要数据集,只需要一个方程组就可以进行识别了。

如果把这个思路应用到股票上,我们可以把每支股票的的相关数据输入进去,比如公司销售量、成交额、利润率、高管套现、负面新闻等各种影响股价的因素都输进去,并告诉它这支股票在这些条件下的涨跌结果,让人工智能算法自动提取特征,总结出N个涨的特征(如A1、A2、A3…..An)和N个跌的特征(如B1、B2、B3…..Bn)。然后给出一支新股票的数据(如“A3、A6、A8、A100、B5、B7、A200、A300、A500”),它就会自动从中判断里面符合涨的特征有7个符合跌的特征有2个,从而给出一个预测未来是涨还是跌的识别结果。

实际上就是识别猫狗一样的原理。

这个判断预测股票涨跌的人工智能理论上不难,但开发的工作量非常大,不是一个人能搞出来的。

奇趣编程|基于时间序列的随机数的提前预测

生活中有很多看似随机数的数据,如果和时间序列高度关联,其实这些随机数是可以提前预测的,但我这里说的可以提前预测并不是指能预测出具体的精确的数字,而是一个大概的数据范围或是走势方向。

比如说,某个红绿灯十字路口,每小时通过的车辆数量是一个随机数,但是,这个数据是和时间序列高度关联的。

从单日的数据上来看,在上下班高峰时段车辆通过的流量大,其它时段会相对的平缓。

从一年的数据上来看,在节假日出行高峰的日子车辆的通过流量会比平常日子大。

从多年的历史数据上来看,每年的车辆数量都会相对的逐步变大,因为有车的人越来越多了,加上城镇化建设的推进,越来越多的人集中涌向城市,水涨船高,整个城市的车辆拥有量变大,通过这个路口的车辆数量也会相应变大。

所以,和时间序列高度关联的随机数,是可以提前预测未来的数据范围和走势方向的。

如果我们把这个思路应用到其它领域,比如说股票,那也是可以提前预测的。

比如说,在国家发布某些重大行业政策后,肯定会引起股市的波动,所以投资者要用程序随时监测国家的政策发布时间,在政策发布时及时进行分析,预判是利好还是利空,然后及时进行买入或卖出操作,就能实现早进场早盈利或提前避免损失。

现实生活中,只要是有人参与的,很多都是和时间序列相关,只要学会用数据采集、数据分析、数据挖掘,就可以帮你实现更多的盈利。

奇趣编程|Google的Flutter和Dart编程语言

Google的Flutter是免费、开源的SDK,它使用Dart编程语言,只需要一份代码,就可以发布移动端、web、桌面等多端程序,不再需要为每个端单独写一份代码。

它的工作原理是编译器把Dart代码编译(AOT)成各个平台的相应代码,让Flutter可以直接和平台通讯而跨过了中间的桥接过程,以提高程序性能。

Flutter
Flutter

实际上就是相当于一个翻译器,只需要用它特定的语言写出内容,然后这个翻译器可以自动帮你把它翻译成各种语言。

这个“一次开发到处运行”的思路其实很多人都有,但这种翻译器不是一个人或小团队能做出来的,毕竟要翻译成所有主流平台的语言,要各种兼容,只有互联网巨头才能把这件事做好。而Google已经在这件事上努力了很多年,现在的Flutter2版本已经比较完善了,在开源的生态下,我相信Flutter和Dart编程语言会越来越好,除非Google发不出工资给那帮开发人员。

搞这个事对Google到底有什么好处?我不知道,也许它是想通过一网打尽开发人员,通过裹挟全世界的开发人员来达成它的商业目标吧。

谁管它呢,有好产品就应该好好学习,编程界的开发人员都盼望着某种编程语言一统天下的日子早点到来,毕竟现在的编程语言太多,太多时间浪费在学习各种编程语言上了,太多的精力浪费在为各个端用相应的编程语言重写一份代码了。

奇趣编程|JavaScript中优化for效率的方法

在用JavaScript写代码的过程中,计算的数据量很大的时候,需要优化计算效率,那么对于常用的for有没有什么办法可以优化效率呢?

理论上,JavaScript中的正序for循环在每次计次变量增加后都需要检查条件,而在倒序for循环中只需要计算一次起始变量,所以for的正序循环要比倒序循环快。测试代码如下:

var A = new Array(1000000000);
console.time('⏳');
for (let i = A.length; i > 0; i--) {}//倒序
console.timeEnd('⏳');

var B = new Array(1000000000);
console.time('⏳');
for (let i = 0; i < B.length; i++) {}//正序
console.timeEnd('⏳');

但是这样做也是有缺点的,有些数据是需要正序去处理的,搞成倒序处理会徒增很多不必要的处理,并且倒序不太符合人的思维习惯。

所以,如果效率不是相差太大,还是用正序吧。

奇趣编程|为什么我看好VUE?

因为我也要做网页和webApp的开发,所以对网页前端开发技术也有所关注。

在前端开发中,国内用VUE的人比较多,这是为什么呢?

1.体积大小。VUE以轻量渐进而胜出,按需加载依赖包,这样新手入门时就可以不需要理会用不到的包。

2.性能效率。VUE的性能还是很高效的,渲染很快,内存占用比较低,省了很多优化性能的麻烦。

3.学习难度。VUE是渐进式的,所以入门很容易。

4.第三方库。VUE用户群体很大,相关的第三方库很多。

5.代码优美。VUE的代码比较优美,可读性强。

6.简明性。VUE写出来的代码比其它的框架更加简明,可以用很少的代码就能写出很复杂的功能。

7.生态。VUE在国内国外都有很庞大的粉丝群体,已经形成了良性的生态,各种教程工具等学习资源很丰富。

8.稳定更新。作为一个个人开发的产品,VUE的作者有大公司长期赞助,其收到的赞助费已经足够作者活得比较滋润,作者全职开发VUE。

9.VUE作者是中国人。这一点比较重要,我们应该支持国产的东西参与国际竞争。

奇趣编程|现在已经能用数学预知随机数曲线的未来走势了?

通常大众认为未来是不可预测的,但是,现在计算机运算速度的提高已经让数学预知未来成为了可能。

那么,它的数学原理是什么呢?下面简要讲解一下,希望大家能看得懂。

我们以打桌球为例。假设我们知道了所有的环境变量和约束条件,比如空气的湿度、风力、每个桌球的重量、位置、摩擦力、球杆的力度、方向、速度等等,那我们就可以根据这些变量和约束条件写成方程组,然后精确计算出当这一杆打出去之后,每个球最终停止的位置。

用数学的语言来说,就是先把实际问题转化为数学模型,然后把数学模型输入求解器,计算出来的结果,就是充分考虑了未来各种可能性的最优结果。

那么这种数学模型或是方程组有多少个变量和约束条件呢?少则几十万个变量,多则几亿个变量,也就是说,你的方程组用纸笔列出来,可能有几公里那么长。

这么庞大的数据,人工肯定是计算不完的,但计算机可以,现在的家用电脑CPU每秒的计算速度都是数以亿次计的,所以几十万变量的方程组可以在一分钟以内计算出来。

那怎么用这个思路来预测随机数曲线的未来走向呢?任何数据曲线都可以用数学来建模,再复杂的曲线也可以转化成方程组,虽然这个方程组极有可能有几十万个变量。如果用一个几十万变量的方程组,模拟生成的曲线和实际的数据曲线基本一致,那就可以认为这条随机数曲线是大体上按这个方程组来走的,所以当推算出这个方程组之后,就可以根据它来计算出随机数曲线的未来走向了。

希望大家能看得懂。