Python

用Python徒手撸一个股票回测框架

通过纯Python完成股票回测框架的搭建。什么是回测框架?无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。代码地址在最后。本项目并不是一个已完善的项目,还在不断的完善。回测框架回测框架应该至少包含两个部分,回测类,交易类.回

系统 2019-09-27 17:51:37 2004

Python

用Python中的wxPython实现最基本的浏览器功能

通常,大多数应用程序通过保持HTML简单来解决大多数浏览器问题�D或者说,根据最低共同特性来编写。然而,即便如此,也仍然存在字体和布局的问题,发行新浏览器和升级现有浏览器时,也免不了测试应用程序的痛苦。替代方案�D只支持一种浏览器�D通常不是一种用户友好的解决方案。明显的解决方案是在应用程序中嵌入自己的表现HTML的窗口构件。当然,从头开始编写这样的窗口构件工作量很大,因此,求助于预先封装的解决方案好象是合理的。商界有许多选择及几个开放源码软件包。本文将向

系统 2019-09-27 17:49:37 2004

Python

python中sort和sorted排序的实例方法

Pythonlist内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。>>>sorted([5,2,3,1,4])[1,2,3,4,5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如sorted()方便,

系统 2019-09-27 17:47:37 2004

Python

Python ValueError: invalid literal

今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了复制代码代码如下:totalCount='100'totalPage=int(totalCount)/20ValueError:invalidliteralforint()withbase10的错误网上同样的错误有人建议用round(float(“1.0″)),但是解决不了我这个问题,round(float(“1.0″))是用于解决浮点数转换为整形数的,而我这个则是因为原字符串转换为整形后做除法,虽然

系统 2019-09-27 17:45:38 2004

Python

分析用Python脚本关闭文件操作的机制

如果不用“with”,那么Python会在何时关闭文件呢?答案是:视情况而定。Python程序员最初学到的东西里有一点就是可以通过迭代法很容易地遍历一个打开文件的全文:f=open('/etc/passwd')forlineinf:print(line)注意上面的代码具有可行性,因为我们的文件对象“f”是一个迭代器。换句话说,“f“知道在一个循环或者任何其他的迭代上下文中做什么,比如像列表解析。我的Python课堂上的大多数学生都具有其他编程语言背景,在使

系统 2019-09-27 17:45:26 2004

Python

Python中实现对Timestamp和Datetime及UTC时间之间的转换

Python项目中很多时候会需要将时间在Datetime格式和TimeStamp格式之间转化,又或者你需要将UTC时间转化为本地时间,本文总结了这几个时间之间转化的函数,供大家参考。一、Datetime转化为TimeStampdefdatetime2timestamp(dt,convert_to_utc=False):'''ConvertsadatetimeobjecttoUNIXtimestampinmilliseconds.'''ifisinstanc

系统 2019-09-27 17:50:37 2003

Python

python 树状嵌套结构的实现思路

原始数据原始数据大致是这样子的:每条数据中的四个数据分别是当前节点名称,节点描述(指代一些需要的节点属性),源节点(即最顶层节点),父节点(当前节点上一层节点)。datas=[["root","根节点","root",None],["node1","一级节点1","root","root"],["node2","一级节点2","root","root"],["node11","二级节点11","root","node1"],["node12","二级节点1

系统 2019-09-27 17:49:50 2003

Python

使用 Python 处理 JSON 格式的数据

如果你不希望从头开始创造一种数据格式来存放数据,JSON是一个很好的选择。如果你对Python有所了解,就更加事半功倍了。下面就来介绍一下如何使用Python处理JSON数据。JSON的全称是JavaScript对象表示法JavaScriptObjectNotation。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式。另外,不要因为JSON名称而望文生义,JSON并不仅仅在JavaScript中使用,它也可以在其它

系统 2019-09-27 17:47:24 2003

Python

Python如何应用cx_Oracle获取oracle中的clob字段问题

最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。它的语法主要如下:cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME')importcx_Oracledb1=cx_Oracle.connect('yang','yang','127.0.0.1:1523/yangdb')db2=cx_Oracle.connect('yang/yang@127.0.0.1

系统 2019-09-27 17:47:07 2003

Python

Python中正则表达式的用法实例汇总

正则表达式是Python程序设计中非常实用的功能,本文就常用的正则表达式做一汇总,供大家参考之用。具体如下:一、字符串替换1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串result,number=re.subn(regex,newstring,subject)2.替换所有匹配的子串(使用正则表达式对象)reobj=re.compile(regex)result,number=reobj.subn(news

系统 2019-09-27 17:46:40 2003

Python

在Python的Django框架的视图中使用Session的方法

SessionMiddleware激活后,每个传给视图(view)函数的第一个参数``HttpRequest``对象都有一个session属性,这是一个字典型的对象。你可以象用普通字典一样来用它。例如,在视图(view)中你可以这样用:#Setasessionvalue:request.session["fav_color"]="blue"#Getasessionvalue--thiscouldbecalledinadifferentview,#orman

系统 2019-09-27 17:38:45 2003

Python

Python实现生成密码字典的方法示例

本文实例讲述了Python实现生成密码字典的方法。分享给大家供大家参考,具体如下:key_data.py文件存放组成数据,可以随时扩充及简化。#coding=utf-8#!/usr/bin/pythondefyear():#返回字符串类型的年份列表year=range(1984,2018)#常用年份列表year_str=[]foryinyear:year_str.append(str(y))returnyear_strdefmonth_or_day(n):

系统 2019-09-27 17:54:41 2002

Python

Python函数式编程:从入门到走火入魔

附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全:书单导航页(点击右侧极客侠栈即可打开个人博客):极客侠栈①【Java】学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版)②【算法数据结构+acm】从入门到进阶吐血整理书单50+本(珍藏版)③【数据库】从入门到进阶必读18本技术书籍网盘吐血整理网盘(珍藏版)④【Web前端】从HTML到JS到AJAX到HTTP从框架到全栈帮你走更少弯路(珍藏版)⑤【pyt

系统 2019-09-27 17:53:09 2002

Python

python之yield和Generator深入解析

首先我们从一个小程序导入,各定一个list,找出其中的素数,我们会这样写importmathdefis_Prims(number):ifnumber==2:returnTrue//除2以外的所有偶数都不是素数elifnumber%2==0:returnFalse//如果一个数能被除1和本身之外的数整除,则为合数。其实我们的判定范围到根号n就可以forcurinrange(2,int(math.sqrt(number))+1,2):ifnumber%cur=

系统 2019-09-27 17:52:34 2002

Python

Python 实现elasticsearch group by

es实现聚合es通过agg实现聚合,详情可见es文档有时候查询es数据的时候可能需要实现多字段groupby的功能,例如:SELECTsum(item_count)fromAgroupbyfield1,field2,field3要实现多个维度的聚合,需要嵌套的agg查询语句:{"query":{},"aggs":{"field1":{"terms":{"field":"field1","size":2147483647#设置一个大的分桶数,防止一次统计不完

系统 2019-09-27 17:51:32 2002