通过纯Python完成股票回测框架的搭建。什么是回测框架?Python资源共享群:484031800无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。代码地址在最后。本项目并不是一个已完善的项目,还在不断的完善。回测框架回测框
系统 2019-09-27 17:50:31 2175
今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法。但是,我们都知道,在列表中删除第一个元素和删除最后一个元素花费的时间代价是不一样的,删除列表的第一个元素,那么在它之后的所有元素都要进行移动。所以当列表特别长的时候,这个代价就比较明显了。我们本文介绍的循环队列可以避免这个问题,同样我们上篇文章提到的用链表实现的方法也可以避免。下面,我们来介绍循环队列。循坏队列循环队列,就是将普通的队列首尾连接起
系统 2019-09-27 17:50:25 2175
前言在Python开发中,有些情况下,我们可能面临在一台机器上同时安装多版本Python的需求。比如:有多个Python项目,每个项目依赖不同的Python版本。有一个Python项目,它需要同时支持多个Python版本。那么,如何高效地在单台机器上实现多个版本Python(具体来说,这里Python指的是Python解释器)的安装和维护呢?除此之外,我们还可能面临在一台机器上安装多个版本的某个Python第三方库的需求。比如:有多个Python项目,每个
系统 2019-09-27 17:50:01 2175
自我学习记录:如有问题,请帮助指正,勿喷。输出:用print()在括号中加上字符串,就可以向屏幕上输出指定的文字根据惯例第一个程序:Hello,word,第一理解的应该是print(hello,word)意外发生了这个报错翻译了一下‘标识符中的无效字符’没看懂自我理解就是把字符串加到‘’里面去。看一下效果有输出那对应的肯定有输入了input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字name=input()嗯确实多了输入的窗口,但没有
系统 2019-09-27 17:49:16 2175
这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记。日志是的,的确,不得不强调足够的日志记录对应用程序是多么的重要。您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间。如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它...追踪有时看到程序如何被执行会很有帮助。你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知
系统 2019-09-27 17:49:14 2175
1、Python函数函数是Python为了代码最大程度的重用和最小化代码冗余而提供的基本程序结构,用于将相关功能打包并参数化Python中可以创建4种函数:1)、全局函数:定义在模块中,每个模块都是一个全局作用域,因此,全局作用域的范围仅限于单个程序文2)、局部函数:嵌套在其它函数中3)、lambda函数:表达式4)、方法:与特定数据类型关联的函数表,并且只能与数据类型关联一起使用Python提供众多内置函数Python创建、改变、查找变量名都是在名称空间
系统 2019-09-27 17:49:01 2175
Python实现整数的加减乘除的计算器,不包含括号,除法取整:importredefrun():string=input()strls=re.findall('\d+|\+|\-|\*|\/',string)i=0while(i
系统 2019-09-27 17:48:11 2175
目标是把腾讯新闻主页上所有新闻爬取下来,获得每一篇新闻的名称、时间、来源以及正文。接下来分解目标,一步一步地做。步骤1:将主页上所有链接爬取出来,写到文件里。python在获取html方面十分方便,寥寥数行代码就可以实现我们需要的功能。复制代码代码如下:defgetHtml(url):page=urllib.urlopen(url)html=page.read()page.close()returnhtml我们都知道html链接的标签是“a”,链接的属性是
系统 2019-09-27 17:47:40 2175
递归和迭代从本质上看都是循环的一种,递归通过在循环中调用自身,而迭代则通过某段代码实现循环一般来说:迭代的思想会使问题简单化,但计算过程会十分繁琐,因为参数要通过传递的形式先到达递归条件值,然后再一层一层返回,会占用大量内存,只适用于小型的问题求解。一、递归:它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量注意:递归就是在过程或函数里面调用自身
系统 2019-09-27 17:47:18 2175
本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下:1.字典(dict)dict用{}包围dict.keys(),dict.values(),dict.items()hash(obj)返回obj的哈希值,如果返回表示可以作为dict的keydel或dict.pop可以删除一个item,clear清除所有的内容sorted(dict)可以把dict排序dict.get()可以查找没存在的
系统 2019-09-27 17:47:12 2175
数据类型:float―浮点数可以精确到小数点后面15位int―整型可以无限大bool―非零为true,零为falselist―列表Float/Int:运算符:/―浮点运算除//―当结果为正数时,取整;11//5=2;11//4=2当结果为负数时,向下取整;-11//5=-3;-11//4=-3当分子分母都是float,结果为float型**―计算幂;11**2=121%―取余其他数学运算:1.分数:importfractions;fractions.Fra
系统 2019-09-27 17:47:01 2175
本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表无雷,1表雷,-1表已经检测过。本例使用python的tkinter做gui,由于没考虑可用性问题,因此UI比较难看,pygame更有趣更强大更好看,做这些小游戏更合适,感兴趣的读者可以尝试一下!具体的功能代码如下:#-*-coding:utf-8-*-importrandomimportsysfromTkinterimport*classModel:"""核心数据类,维护一个矩阵"""def
系统 2019-09-27 17:47:00 2175
strptime()方法分析表示根据格式的时间字符串。返回值是一个struct_time所返回gmtime()或localtime()。格式参数使用相同的指令使用strftime();它默认为“%a%b%d%H:%M:%S%Y”相匹配的ctime()所返回的格式。如果字符串不能按格式进行解析,或者如果它具有解析后多余的数据,ValueError被挂起。语法以下是strptime()方法的语法:time.strptime(string[,format])参数
系统 2019-09-27 17:46:38 2175
一、在豆瓣电影网爬取影片的短评以及相关的信息:二、参考代码importrequestsfrombs4importBeautifulSoupimportpandasaspdurl_list=[]foriinrange(5):url_list.append('https://movie.douban.com/subject/26794435/comments?start=%s&limit=20&sort=new_score&status=P'%(i*20))n
系统 2019-09-27 17:46:12 2175
cdf(commondataformat)文件的python接口参考教程需要的库:Spacepy底层包:NASA’sCDFCDF下载安装wgethttps://spdf.gsfc.nasa.gov/pub/software/cdf/dist/cdf37_1/linux/cdf37_1-dist-all.tar.gztar-zxvfcdf37_1-dist-all.tar.gzcdcdf37_1-distmakeOS=linuxENV=gnuCURSES=y
系统 2019-09-27 17:45:41 2175