python how to cal math

  • numpy生成随机数:

a = np.random.randint(0,20,(5,))

在0和20之间生成5个随机整数


计算刚才生成数组的梯度 (gradient)

np.gradient(a)


梯度能看作导数吗?  不能

  • 导数 : Derivative

可以用numpy计算, 也能用sympy

python 怎么计算导数 :   要算导数,首先要有函数,对于时间序列,并没有拟合函数,似乎也没必要有

 

 

 

怎么用python画柱状k线

来源: https://www.programmersought.com/article/17884763118/

 

 

 

windows 10 , MAC Big Sur 安装 pytorch 1.4 cpu 版本

  •  python需要 3.8.6 这个版本, 必须精确
  • 因为当前台式机是amd显卡, 所以用不了 nvadia cuda  , 只能直接安装cpu版本
  • 网上有很多例子提出用清华或者阿里镜像 , 方法是 :

     

    实测速度并不好 ,

  • 最终的解决方法是先fq ,然后设置 command line 代理 :

然后去掉上面安装命令 包括 -i 及之后的部分, 执行即可

 


For Mac Big Sur

https://zhuanlan.zhihu.com/p/168748757

mac os BIG SUR how to 安装python多个版本

  • 先安装  brew

  •  

  •  

    在这一步失败, 因为mac os BIG SUR 不能安装3.6.7版本, 有人也同样这个问题, 目前没解决方法

 

BIG SUR 只能安装 python 3.9.1版本 , 但是问题是: python3.9.1过于新 , 很多库还不支持这个版本

 

 

python 数值分析

 

python 时间序列建模

  • 所谓建模, 就是找一个合适的方程描述特定的曲线

有了方程,可以求导,计算某一点位的即时趋势

  • 最基础的,  up , down 的趋势怎么判断  ?

当前是用一个10元素的栈,放过去1分钟的斜率,先进先出

如果新斜率普遍大于旧的,说明是涨势

 

  • 参考文章 :

A comprehensive beginner’s guide to create a Time Series Forecast (with Codes in Python and R)

https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/


金融时间序列分析  第三版

 


https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5283670/检测时间序列的突然变化


 

https://techrando.com/2019/08/14/a-brief-introduction-to-change-point-detection-using-python/   

用python实现

关键字 : Detecting changes in a time-series


 

理论论文:

1801.00718


电子书 about forecasting

https://otexts.com/fpp2/appendix-using-r.html

 

  • 关键字

Change point detection (or CPD)

time serial   时间序列

Trends    趋势

Irregularity  或者叫 noise , 噪音,扰乱

 

  • 要达到的效果

大致类似这个

https://patents.google.com/patent/CN106600410A/zh

本发明公开了一种基于时间序列的量化投资方法,所述方法为下述方法之一:(1)时间序列预测:是一种考虑变量随时间发展变化规律,并用该变量以往的统计资料建立数学模型,进行类推或延伸,借以预测下一段时间的趋势的方法;(2)相似搜索:是通过测量时间序列数据之间的相似度,从历史库中寻找相似的时间序列数据,从而对系统的走势做出预测;(3)周期分析:指对周期模式的挖掘,即在时序数据库中找出重复出现的模式。本申请将时间序列与量化分析相结合,可以做出准确预测,满足客户的使用需求。

其中相似性已有基础的解决方案,见:

http://www.notesoflyang.com/?p=1757

 

  • 其他的影响因素

a) 出现哪种情况会让多方情绪升高

空方开始做空

空方绝望平空或者转多

多方绝望

b)  降噪未必是对的 , 来回反复是为了强化信念,特别是错的信念

 

  • 作业

1:  以xxxx 为前高 ,xxxx为低点 ,  以xxxx为新高 , 自动画出集中突破走势 图

提示, 人们如果被灌输进前高是高点的概念, 那么会在高于此位置多少的范围内做空, 是有大数据支持的 ,主力会故意流出一个做空区域陷阱

 

 

How to write a auto gather program using python

1 安装 opencv , 在设置好的虚拟目录执行

 

再安装 pyautogui

 

2  python + opencv 截屏

 

3:   How do I find an image contained within an image?    From :

https://stackoverflow.com/questions/7853628/how-do-i-find-an-image-contained-within-an-image

 

 

这段代码会在大图上, 以矩形标出match 的部分 , if exist match

 

 

4  在 windows , python 37 ,32位环境, 执行这段代码能找出 exactly match 的部分, 并自动把鼠标移动到那里, 点击右键

 

缺点是只能精确匹配, 图像稍有差别 , 或者放大缩小,变换镜头角度都不行

已经有人提出过这个问题, 在 : https://answers.opencv.org/question/169613/how-does-macthtemplate-deal-with-scaling/

关键字:

意思是 opencv 的  matchTemplate  函数不是比例变换不相关的

那么, 如何使 matchTemplate  可以比较不同比例的图像, 参见这个文章:

https://www.pyimagesearch.com/2015/01/26/multi-scale-template-matching-using-python-opencv/

in this article , 解决方法是: 对于大图, 循环放大缩小多次, 以匹配小图 , 但是, 这样只是解决了比例问题, 还是没解决角度问题


更先进的方法应该是: 特征匹配或者关键点匹配, 参见文章:

https://www.analyticsvidhya.com/blog/2019/10/detailed-guide-powerful-sift-technique-image-matching-python/

 

或者这个文章 更好一些: https://blog.csdn.net/HuangZhang_123/article/details/80660688

 

找到特征匹配后, 如何找相应点的坐标: https://stackoverflow.com/questions/30716610/how-to-get-pixel-coordinates-from-feature-matching-in-opencv-python

 

 

关键字 : cv2.cornerHarris    函数

 

理论分析和实现 SIFT算法 : https://www.geek-share.com/detail/2777206412.html

 

 

 

 

 

5  如何模糊匹配, 即无论图像缩放, 观察角度的变化, 都能正确匹配到

参考文章 :  https://www.lagou.com/lgeduarticle/74061.html        

这个不一定对

 

 


 

 

 

 

 

tokbox 测试环境的搭建

注册账号 ,然后新建一个project , 这样就得到了 api key , 和 secret , 如图

  • 第二步,建server , 以 python 为例 :

sample 程序在  https://github.com/opentok/Opentok-Python-SDK

先建立一个 python 虚拟目录, 这样得到干净的初始环境 。

然后, 安装 flask 和 opentok 库:


安装完成后把例子程序的helloworld项目的 helloworld.py, 根据自己的情况修改为

然后在虚拟环境内执行 ,本机的虚拟环境目录在: F:\Programs\Python\py37virtualenvs\tokbox

如果能出现下图就说明服务启动成功了

有一个常见的错误就是: 当试图 create session时 , 出现

tokbox Failed to create session, invalid credentials 的错误, 这可能是因为测试机器时间和标准时间不一致 ,解决方法是:  setting–>datetime setting –>set time automatically on


成功启动服务后, http://127.0.0.1:5000

如果有摄像头, 就能看到图像。

服务启动后会在页面显示 sessionid 和 生成的  token

 


首先找出刚才建立的server 的 api_key , session_id 和 token  :

46419702

1_MX40NjQxOTcwMn5-MTU2ODI3MTIwOTMzNH5QcEY4aE0ra0owaC9DTTAzdnRoRTlxK2J-UH4

T1==cGFydG5lcl9pZD00NjQxOTcwMiZzaWc9ZDJmZmRmMGU1MmE4YjBkMmQyOTEzMjgzNDBmZjZjYzMwN2EwY2U0ZTpzZXNzaW9uX2lkPTFfTVg0ME5qUXhPVGN3TW41LU1UVTJPREkzTVRJd09UTXpOSDVRY0VZNGFFMHJhMG93YUM5RFRUQXpkblJvUlRseEsySi1VSDQmY3JlYXRlX3RpbWU9MTU2ODI3MjU4OCZleHBpcmVfdGltZT0xNTY4MzU4OTg4JnJvbGU9cHVibGlzaGVyJm5vbmNlPTIwNTQyNiZpbml0aWFsX2xheW91dF9jbGFzc19saXN0PQ==

打开例子程序的 Basic Video Chat 子项目

修改 /js/config.js , 把 api_key , session_id 和 token 等都修改为和之前服务器建立的一致 ,并且把 server_url 的那句注释掉:

 

然后打开  Basic Video Chat 的 index.html 程序, 就可以与服务器互通视频和语音。