python
文章平均质量分 79
敲代码的quant
ML/DL/量化金融/学生
展开
-
【tensorflow】交叉熵损失函数以及在Tensorflow的使用形式
交叉熵损失函数tf.nn.softmax_cross_entropy_with_logits形式:tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)作用:计算labels和logits之间的交叉熵(cross entropy)tf.nn.sigmoid_cross_entropy_with_logits形式:tf.nn.sigmoid_cros原创 2021-07-08 16:22:11 · 2215 阅读 · 0 评论 -
【python】Numpy中的所有随机函数
np.random.randn()原创 2021-07-08 10:21:17 · 415 阅读 · 0 评论 -
【python】conda和pip安装库之间的区别
conda首先,conda是一个通用的包管理器,意思是什么语言的包都可以用其进行管理,自然也就包括Python了。在安装Anaconda或者Miniconda时,会对conda进行一同安装。其中Anaconda作为Python的发行版,相当于在Python的基础上自带了常用第三方库,而Miniconda则相当于是一个conda环境的安装程序,只包含了conda及其依赖项,这样就可以减少一些不需要的第三方库的安装,所以Miniconda所占用的空间很小。pipPip同conda一样,也是一个包管理器,并原创 2020-05-13 00:15:18 · 31913 阅读 · 8 评论 -
【python】Python通过unrar库实现解压rar文件
写在前面因实际问题需要通过Python来解压rar文件,一开始是通过pip install rarfile也就是安装rarfile库来实现,但是它会报“rarfile.RarUnknownError: Unknown exit code [1]: bsdtar: Error opening archive: Failed to open ‘–’”的错误。经过一番搜索这个问题没有解决,所以就转换为网上推荐的unrar库,但是安装完成后进行调用却又报了“Couldn’t find path to unrar原创 2020-05-11 00:45:19 · 8611 阅读 · 3 评论 -
【python】conda命令整理
文章目录conda环境管理conda包管理conda其他命令conda设置镜像源通过官网的方式下载Anaconda速度太慢,可以通过清华镜像源来下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/conda环境管理显示虚拟环境列表conda env list创建一个名为xxx,python版本为x.x的虚拟环境(所有安装的环...原创 2020-04-03 23:39:05 · 945 阅读 · 1 评论 -
【python】np.dot()、np.multiply()、np.matmul()方法以及*和@运算符的用法总结
1、np.dot()2、@3、np.multiply()4、*原创 2020-02-28 12:44:34 · 18824 阅读 · 2 评论 -
【python】如何用python生成并保存gif动态图
有时候在展示实验结果的时候,通过一个gif的动态图可以很好进行表现,通过python生成这种gif图的原理实际上就是通过每次生成图像快照,将它们保存下来,然后通过imageio这个库再将他们组合成一个gif图。如果没有安装imageio这个库的话那就先安装:pip install imageio下面通过模拟一段random walk来生成这个gif图。import numpy as np...原创 2019-10-17 10:31:38 · 10780 阅读 · 3 评论 -
python 字符串(str)与列表(list)以及数组(array)之间的转换方法详细整理
前提:list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了。list和array的不同:在进行转换之间先研究下python中list和array(np.array)的不同:1、list是python中内置的数据类型,其中的数据的类型可以不...原创 2018-06-22 15:40:18 · 142960 阅读 · 7 评论 -
Selenium+FireFox环境配置以及常见问题与解决方案
为了可以爬取动态网页的内容,配置了Selenium+Firefox的环境。前提:Anaconda3Win10Firefox 61.0.1Selenium 3.131、下载Firefox驱动地址:https://github.com/mozilla/geckodriver/releases/选择合适版本的geckodriver,然后解压得到exe文件,并将geckod...原创 2018-07-28 19:12:02 · 3878 阅读 · 0 评论 -
Pandas之Categoricals数据类型
Pandas中的Categoricals模块能够有效地编码并显著性地提高了文本分类的效率。1、There is More to Speed Than Parallelism(速度比并行更重要)我通常会写一些关于并行的东西。因此,很多人会问我如何并行化他们速度很慢的计算。这个问题的答案通常是更好地使用pandas。Q: How do I make my pandas code faste...翻译 2018-07-26 16:22:11 · 11116 阅读 · 0 评论 -
python3与python2中map函数的区别
先看一下python2中的map函数:def map(function, sequence, *sequence_1): # real signature unknown; restored from __doc__ """ map(function, sequence[, sequence, ...]) -> list Return a list o...原创 2018-07-22 16:03:35 · 2055 阅读 · 0 评论 -
Pandas.plot()画图方法
转自:https://blog.csdn.net/claroja/article/details/73872066?utm_source=debugrun&utm_medium=referral SeriesSeries.plot(kind=’line’, ax=None, figsize=None, use_index=True, title=None, grid=None,...转载 2018-08-13 11:05:33 · 2959 阅读 · 0 评论 -
python对字典的基本操作(遍历、排序)总结
Python字典容器python中的字典同其他语言中的字典作用一样,都是用来存储数据的容器。只不过不同于其他序列型数据用下标来访问其中的对象,而是以关键字key来访问其中的对象value。另外,字典也被称为关联数组或者哈希表。字典的应用场景有很多,下面通过一个投票的例子来解释。环境 python3.5创建一个字典:dict = { 'ZhangSan':2, ...原创 2018-10-09 14:40:02 · 12561 阅读 · 0 评论 -
平均值和方差的递推公式以及python实现
有时候在处理流式数据的时候,需要实时更新数据的统计值,如平均值和方差,如果通过传统求解方差或者平均值时,每到达一个新的数据就需要遍历来求解。在数据量比较少的时候,通过遍历和递推求解的时间消耗和空间消耗并不是很明显,但是在大数据或者流式数据的应用场景下,O(n)O(n)O(n)和O(1)O(1)O(1)的时间复杂度以及空间复杂度的区别还是很明显的。均值公式:An=1n∑i=1nXiA_{n} = ...原创 2019-04-17 16:46:43 · 7681 阅读 · 0 评论 -
python虚拟环境配置(virtualenv和virtualenvwrapper)
virtualenv用于创建python的虚拟环境,使得多个python的应用相互独立。它的优点有:1、它可以使不同应用开发环境独立。2、环境升级不影响其他应用,也不会影响全局的python环境,每次pip安装、pip卸载只是在当前虚拟环境中进行。3、它可以防止系统中出现包管理混乱和版本冲突。这里可以对应java的项目开发理解,java开发时,可以通过maven或者手动将需要的包导入当前的项...原创 2019-07-20 21:21:32 · 1155 阅读 · 0 评论 -
解决Python pip install时ConnectTimeoutError
今天在用anaconda3安装tensorflow时,出现了ConnectTimeoutError的错误:原因是pip的源地址是官方网址:pypi.python.org,网络协议:HTTPS,通过这些国外站点下载时就会特别慢。因而可以通过国内的一些镜像网站:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.u...原创 2018-05-29 16:39:57 · 6389 阅读 · 0 评论 -
tensorflow实现rnn之tf.nn.dynamic_rnn参数shape介绍
使用tensorflow实现rnn或者lstm很方便,只需创建rnn或者lstm神经单元,然后创建网络就可以了,但是rnn或者lstm不同于常规的nn神经网络,因为它是处理时间序列的,所以在进行batch训练时,对数据格式的要求也不一样。下面举一个预测价格的例子:创建网络先看一下rnn的最基本结构:代码如下: def _build_net(self): self.x = tf...原创 2018-04-16 12:47:13 · 12484 阅读 · 4 评论 -
用Python进行简单的爬虫(从Python百度百科中提取词条)
一、前提准备 首先用到的Python版本是3.5.2 目的是从Python的百度百科提取Python相关的词条 入口网页是https://baike.baidu.com/item/Python/407313?fr=aladdin 编码格式utf-8 词条的url格式/item/* 二、爬虫的架构 这个爬虫的架构如下: ur原创 2017-09-09 14:25:01 · 1728 阅读 · 0 评论 -
Python量化交易talib中SMA模块介绍
转载于 https://www.douban.com/note/628768846/SMA:基础函数: talib.SMA(价格, 周期)说明:简介/简单移动平均线 简单移动平均线(Simple Moving Average,SMA),又称“算术移动平均线”,是指对特定期间的收盘价进行简单平均化的意思。一般所提及之移动平均线即指简单移动平均线(SMA)。简单移动平均线沿用最简单的统计学方式,将过去某转载 2017-09-12 21:03:27 · 15348 阅读 · 0 评论 -
通过pyChram克隆Github中的项目
今天在Google中看到了一个py project,之前只会download ZIP,然后解压拷贝到IDE中,但是这个project中package的数量很多,而且拷贝到pycharm中是以文件夹的形式存在的,所以就想通过git的方式直接克隆,事实证明,这个方式既简单又快捷。 步骤一: 先下载git(Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。),在原创 2017-10-16 16:42:29 · 2291 阅读 · 0 评论 -
Python数据可视化之散点图和折线图
最近一直用到Python的matplotlib包,一些画简单的散点图和折线图的用法老是记不住,所以从最基础的地方开始,稍微总结了一下。一、散点图 画散点图时主要用到的是scatter函数。随机产生两组length相同的数据。x = np.random.uniform(10, 20, 10)y = np.random.random_integers(10, 50, 10)通过plt.figure(原创 2017-12-02 21:39:23 · 17417 阅读 · 1 评论 -
Python对数据shape的常见操作总结
这一阵在用python做DRL建模的时候,尤其是在配合使用tensorflow的时候,加上tensorflow是先搭框架再跑数据,所以调试起来很不方便,经常遇到输入数据或者中间数据shape的类型不统一,导致一些op老是报错。而且由于水平菜,所以一些常用的数据shape转换操作也经常百度了还是忘,所以想再整理一下。 一、数据的基本属性 求一组数据的长度a = [1,2,3,4,5,6,7,8,9原创 2017-12-08 16:02:47 · 19839 阅读 · 2 评论 -
MACD日回测代码以及MACD的计算方法
开始学习期货的量化交易,从米筐API上拷贝的一个关于股指期货主力合约日级别MACD日回测的入门代码: 首先,先看一下关于MACD的介绍以及计算方式:MACD称为指数平滑移动平均线,是从双指数移动平均线发展而来,由快的指数移动平均线(EMA12)减去慢的指数移动平均线(EMA26)得到快线DIF,再用2×(快线DIF-DIF的9日加权移动均线DEA)得到MACD柱。 关于以上的几种指标: EM原创 2017-09-13 19:56:55 · 13751 阅读 · 2 评论 -
CNN练习之Digit Recognizer
经过了考试月,终于有时间写下代码了。但是发现手生了好多,很多东西都忘记了,于是就在kaggle中那个Digit Recognizer模块下,用CNN写了个简单的网络来熟悉下代码。CNN之前在DQN中有写到,用它来进行特征提取。它在图片识别,以及对图片采样时作用很大。先是从kaggle中下载了测试集和训练集,将它们放到项目中。先将测试集和训练集的数据进行处理。# -------------训练集处理-原创 2018-01-14 20:06:01 · 2195 阅读 · 0 评论 -
Python中关于coding=utf-8以及中文字符前加u的解释
写了很久的Python了,每次写之前都要在开头加上coding=utf-8,只知道是设置编码格式,但并没有太在意,今天在写socket编程时才发现编码格式的重要性。一、关于开头coding=utf-8开头的coding=utf-8和coding:utf-8的作用是一样的。作用是声明python代码的文本格式是utf-8,python按照utf-8的方式来读取程序。如果不加这个声明,原创 2018-02-05 20:19:13 · 55003 阅读 · 8 评论 -
python中json.loads和json.dumps对比理解
json.loads和json.dumps最近经常用到,就稍微整理了下二者的关系和区别。一开始用到的时候是把json.loads理解为把json字符串转换为python对象;而json.dumps是把python对象转换为json字符串的。这么理解感觉就挺合适的,为了加深理解,下面再进一步来剖析二者。看一下json.loads和json.dumps源码中的注释。"""Deserialize ``s...原创 2018-02-10 21:55:27 · 12552 阅读 · 2 评论 -
在Python中用WordCloud生成聊天记录热点词汇词云图
刚开学第一天,因为老师没在实验室,所以就没去。之前有看到过别人展示过热点词汇的那种图片,闲着也是闲着,所以就捣鼓了一下午,为了整理一下学的东西,下面就以QQ聊天记录为例子,生成热点词汇。具体的效果如下前提准备:环境:anaconda+python3.5(一开始在python2中写的,但是py2中open这个内置函数没有encoding这个属性,所以文件读取时编码格式转换有点麻烦,捣鼓了很久没弄好,...原创 2018-03-12 23:09:35 · 4788 阅读 · 0 评论 -
使用sklearn进行对数据标准化、归一化以及将数据还原
在对模型训练时,为了让模型尽快收敛,一件常做的事情就是对数据进行预处理。这里通过使用sklearn.preprocess模块进行处理。一、标准化和归一化的区别归一化其实就是标准化的一种方式,只不过归一化是将数据映射到了[0,1]这个区间中。标准化则是将数据按照比例缩放,使之放到一个特定区间中。标准化后的数据的均值=0,标准差=1,因而标准化的数据可正可负。二、使用sklearn进行标准化和标准化还...原创 2018-03-22 21:46:40 · 78037 阅读 · 14 评论 -
python2与python3中关于对NaN类型数据的判断和转换
今天在对一堆新数据进行数据清洗的时候,遇到了一个这样的问题:ValueError: cannot convert float NaN to integer 一开始是这样的,我用的jupyter是python35的,使用DataFrame读入了数据,其中有一列是year,默认读入时是将year这一列转换为了float,所以就有了这样的现象:年份都是float类型了,看得我强迫症都犯了。于是通过这样的...原创 2018-03-06 17:48:59 · 66820 阅读 · 1 评论 -
Python数据可视化之使用GridSpec自定义子图
使用了很长时间的python,每次画图时都会忘记很多画图的方式,这里整理一下怎么在一张画布上定义多张子图。引用模块:import matplotlib.pyplot as pltimport numpy as npfrom matplotlib import gridspec生成几个随机点:random_cp = np.random.random_integers(1, 100, (100, ...原创 2018-03-20 16:32:46 · 14314 阅读 · 3 评论 -
对论文中模型进行编程实现时的注意要求和总结
看论文时,如果论文中有对自己研究方向有帮助或者具有实际用处的模型时,不免通过编程对其进行实现。如果是一个简单的模型,用个caffe、tensorflow之类的框架跑跑就出来的那就无所谓了,但是如果是一个稍微复杂,或者以后会用来做对比实验之类的模型,要是随随便便用个jupyter或者记事本写了出来连个注释都没有,那么当你要用到的时候就该后悔了。现在我就是遇到了这种情况。。。。所以想整理下编程实现模型...原创 2018-04-08 19:19:57 · 4321 阅读 · 0 评论 -
windows下pip安装库遇到了Microsoft Visual C++ 9.0 is required的问题
今天在通过pip安装BaseMap库的时候,遇到了Microsoft Visual C++ 9.0 is required的问题,一看原因是python在编译一些通过c编写的库的时候需要用到c的编译器,去就网上找了一下,还好Microsoft提供了vcforpython27的编译器,并附上了网址,http://aka.ms/vcpython27但是进不去呐!!!! 于是就又在网上找了半天终于原创 2017-09-24 13:21:46 · 2696 阅读 · 2 评论