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

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

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

有很多人工智能的算法是基于特征识别的,比如图像识别类型的人工智能,把一批狗的图像给它,告诉它这些是狗,人工智能算法可以自动从这些预训练图像里自动提取出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每秒的计算速度都是数以亿次计的,所以几十万变量的方程组可以在一分钟以内计算出来。

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

希望大家能看得懂。

奇趣编程|股票的涨跌本质和炒股必赢思路!

这篇文章很值钱,请收藏好。

在股市,有“一赢二平七输”的说法。

那么,赢的是谁?平的是谁?输的是谁?股票的涨跌本质是什么?有没有必赢的思路?搞懂这些问题,就可以百战百胜了。下面说说我个人的观点。

股票的数据不是随机数,而是资金驱动的数据,大资金流入哪一支股票,哪一支股票就涨,大资金流出哪一支股票,哪一支股票就跌,这就是最核心的逻辑。

我们来打个比方,某家公司的股票价格,就像水桶里的乒乓球,往水桶里流入的水越多,乒乓球浮动的位置越高,往水桶外流出的水越多,乒乓球浮动的位置越低,乒乓球就是一个水量多少的浮标。我把这个叫做“浮标理论”。

那么,什么是大资金呢?我怎么大资金会流入哪个水桶呢?我怎么知道大资金什么时候会流出呢?

大资金,就是以国家队为主的资金,比如说,社保的资金、国企巨头的资金。比如说,国家每年收上来这么多社保资金,如果放在银行里躺平,光是靠那点利息,是跑不赢贬值的速度的,所以国家队除了一部分存在银行外,还必须要拿出一部分来投资,并且这部分资金投资的收益必须要至少能和贬值速度持平,不然国家队就会出现亏空,带来社会问题。所以,国家队是只允许赚不允许亏的。

那大资金怎么保证自己一定是能盈利的呢?

控制力,国家队对所投的公司、行业、社会资讯有绝对控制力和引导力。比如说,所投的某家公司实际经营过程中是亏损了,可以通过收购、合并等方式实现股价上涨。比如说,某个行业被外国打压了,可以通过国家的力量来进行资源配置,扶持这个行业。比如说,所投的某家公司出现了负面信息导致股票下跌,可以对负面信息的清理和正能量的传播来挽救股价。

所以“一赢二平七输”中赢的就是国家队,它必须赢,即使输了也要搞成赢的。

“平”的又是谁?是基金,就是那些看基本面和股价曲线来做决策的机构。为什么要看基本面和股价曲线?因为基金经理要给客户一个逻辑分析的交待,要论证自己的决策是合情合理的。但是由于各个基金经理的水平不一,时盈时亏,但大体上把钱交给基金,赚的钱是能和贬值速度持平的。所以是“平”。

“输”的是谁?是那些自以为自己比大资金和基金更聪明、更了解内幕、更有控制力的散户。通常这些人是由公务员高管白领等中等收入群体、暴发户、拆迁户、有点小钱却又不知道干点啥的人、被喊单的人忽悠去炒股的人、看到别人炒股赚钱自己也跟风的人等等,然而,股市转移的就是这些人的存款余额。

所以,炒股必赢的思路就是:绝对不要做自以为是的散户,必须明白你所看到的一切资讯都是别人故意放出来给你看的,股价曲线是由操盘手操作出来给你看的,你进去就是踩坑割肉;把钱交给基金一般就能跑赢通胀,但也赚不了多少;如果自己具有一定的独立思考、研究分析的能力就跟随大资金进退,就能赚得盘满钵满。

实际上,股市是盈亏同源的,也就是说,“一赢”所赚的钱,就是“七输”所亏的钱,简单点说,股市只是大资金的一个抽水机一样的工具,把资金从散户的帐户抽到自己的帐户。我们想赚钱,所要做的就是不要站错队而已。

我只能帮你到这了,至于怎么赚到第一桶金来以钱生钱,请关注我公众号,看我其它文章。

奇趣编程|对人工智能的适用范围的一点思考

人工智能这几年越来越火,未来会更火,因为它是未来普及的应用技术,就像现在的通信加密一样普及。

那么人工智能是否无所不知、无所不能呢?

肯定不会,每种技术都有它的适用范围。个人认为,人工智能技术可以从本身有规律或能穷尽的事物里寻找规律,而不能从本身无规律或不能穷尽的事物里寻找规律。

比如说,气象预测,气象数据实际上是有规律的,同一个地方,每年每月的气温变化不会太大,它的雨季和旱季是比较稳定的,因为地球的气象数据规律,是由地球围绕太阳公转形成的,只要这个底层的原因不变,气象数据结果虽有波动,但仍然在可预测的范围,只要数据足够大足够细,气象预测只会越来越准确。这是从有规律的事物里寻找数据规律,所以人工智能可以发挥作用。

再比如,下围棋,虽然围棋的可能性极其庞大,但在数学上也是可以穷举的,毕竟棋盘就那么大,每步下一子,几百步之后肯定会把棋盘下满结束棋局。这是从能穷尽的东西里寻找数据规律,只不过数据过于庞大需要用好的算法以便能更快地算出推荐结果。

人工智能不能从本身无规律的数据里寻找规律。非自然的、非人为可控的、非可监测的事物,因为数据量太少或监测不到数据,就没办法从数据中寻找出可靠的规律。比如说,宇宙里有多少个星球有外星人?因为除了地球,人类对其它星球知之甚少,所以这个问题人工智能暂时派不上用场。

人工智能也不能从不能穷尽的事物里寻找规律。比如说,地球上的灰尘数量点宇宙中的灰尘总数量的多少比例?因为宇宙中的灰尘是不停地运行,在不运动的过程中聚合或分散,所以灰法数量是一直在变的,并且不可监测清点算清楚,所以人工智能在这个问题上也派不上用场。

通用的人工智能很难出现,而专用的人工智能会越来越成熟。比如说,使用人工智能研制新药,因为药品是化学物质,它的化学成分是可知可控的,而人体本质上也是由物质构成的,只要计算机的运算能力足够大,数据充分,算法有效率,用人工智能来帮助研究人员研发新药大有可为。

奇趣编程|统计概率中假设检验的套路

什么是假设检验?

简单点说,假设检验就是先提出某种假设,然后判断假设是否成立的过程。

下面以炒股为例。

第一步:明确问题是什么。

问题:某家公司的股票在未来走势将会如何?

答案:只有三种可能:上涨、横盘振荡、下跌。

第二步:证据是什么。

分别对上涨、横盘振荡、下跌这三种可能进行证据分析。

上涨、横盘、下跌的原因分别是什么?数据是什么?

第三步:判断标准是什么。

使用公认可行的判断标准才具有说服力,比如基于平均值、概率等来判断。

第四步:做出结论。

当数据明显高于或低于某个平均值时,就可以作出相应的判断,得到一个有证据支撑的答案。

奇趣编程|大数据可视化分析有什么用?

大数据是最近几年比较火的一个词,大数据可视化分析能力是未来工作生活的必备能力之一。

大数据可视化分析,可以把数字变成可视化图表,从而在复杂枯燥的数字里寻找出规律,辅助人工决策。

就目前来看,大数据可视化分析有什么用呢?目前用到比较多的是以下几个方面。

1.数据监测。大的对于银行、金融,小的对于工厂、商家、超市,都可以用到。比如说,某平台发放了一批优惠券、礼品券,如果没有数据监测,很有可能被个别人发现规则的漏洞,大量刷数据,造成主办方的损失。有了数据监测,就可以监测到数据异常,及时封堵漏洞,避免或减少损失。

2.数据预测。最普及的数据预测就是天气预报,现在的天气预报最长已经能提前预报未来30天的数据,并且每隔十五分钟更新一次。再如电商平台对交易量的预测,可以根据过去各年的交易历史,统计分析出规律,找出交易量高峰和低谷的原因,对未来的交易量预测有准确的数据依据。

3.数据决策。比如无人驾驶,实际上就是用各种传感器监测大量的数据,再通过电脑计算作出相应的决策。再如种植业、养殖业,如果能有一个平台统一收集、整理、分发本行业的供求数据,对各地、各品类的产品价格做出历史分析和未来价格预判,农户有了数据作为参考,在决策时就不会太盲目,市场整体供求平衡,农户的收益才会更稳定。