DataFrame排序问题

1 from pandas import DataFrame
2 df = DataFrame(dictList)
3 df = df.sort_values(by=‘internalReturn‘, ascending=False)

现在正在写一个122个品种的实时风险分析的程序,能够提取最佳的交易品种以及他们的持仓周期等信息。由于指标比较多,所以决定用DataFrame结构。

我使用以下代码生成新的df结构时

1 df = df.sort_values(by=‘internalReturn‘, ascending=False, inplace=True)

结果为空。

替代方法:

df2=df.nlargest(10, columns=‘internalReturn‘)

也可以使用

df2=df.head(10)

相应的,也有:

1 df2=df.tail(10)
2 df2=df.nsmallest(10,columns=internalReturn)

由于在实际操作中并不会频繁变换主要交易品种,所以短期的排名变化不会影响交易品种。

spreads实际上就是沉没成本。波动点差比较低的品种只有两种情况:几乎没有波动或者点差过大。

举两个例子:

泰铢的15分钟是20点,在forex中不算低波动,但是泰铢的点差是11点,换句话说即使方向一致,15分钟收益率依然有50%以上的概率为负。

铂金的15分钟收益率超过100%,是metal中排名第一,但是点差占16.5%

从长期看,波动点差比是一个稳定的数值。一些突发事件可能显著改变波动点差比,如今年土耳其政变的土耳其里拉,英国退欧的英镑,但是拉长时间周期后,就可以得到一个稳定的数值。

监控波动点差比的意义在于 筛选短线交易品种,调整品种池。

时间: 2024-08-10 23:30:33

DataFrame排序问题的相关文章

Pandas学习笔记,DataFrame的排序问题

数据来源见前边的几篇随笔 对其中的一列排序 data.high.sort_values(ascending=False) data.high.sort_values(ascending=True) data['high'].sort_values(ascending=False) data['high'].sort_values(ascending=True) p = data.high.sort_values() print(p) date 2015-01-05 11.39 2015-01-0

线程池中的线程的排序问题

1 package org.zln.thread.poolqueue; 2 3 import org.slf4j.Logger; 4 import org.slf4j.LoggerFactory; 5 6 import java.util.Comparator; 7 import java.util.UUID; 8 import java.util.concurrent.*; 9 10 /** 11 * 线程池中的线程的排序问题 12 * Created by sherry on 16/11/4

Spark2 加载保存文件,数据文件转换成数据框dataframe

hadoop fs -put /home/wangxiao/data/ml/Affairs.csv /datafile/wangxiao/ hadoop fs -ls -R /datafile drwxr-xr-x - wangxiao supergroup 0 2016-10-15 10:46 /datafile/wangxiao -rw-r--r-- 3 wangxiao supergroup 16755 2016-10-15 10:46 /datafile/wangxiao/Affairs

spark的数据结构 RDD——DataFrame——DataSet区别

转载自:http://blog.csdn.net/wo334499/article/details/51689549 RDD 优点: 编译时类型安全 编译时就能检查出类型错误 面向对象的编程风格 直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化. GC的性能开销 频繁的创建和销毁对象, 势必会增加GC import org.apache.spark.sql.SQLContext import org

spark dataframe操作集锦(提取前几行,合并,入库等)

Spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当然主要对类SQL的支持. 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选.合并,重新入库. 首先加载数据集,然后在提取数据集的前几行过程中,才找到limit的函数. 而合并就用到union函数,重新入库,就是registerTemple注册成表,再进行写入到Hive中. 不得不赞叹dataframe的强大. 具体示例:为了得到样本均衡的训练集,需要对两个数据集中各取相同的训练样本数目来组成,因此用到了这

Spark-SQL之DataFrame操作大全

Spark SQL中的DataFrame类似于一张关系型数据表.在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现.可以参考,Scala提供的DataFrame API. 本文中的代码基于Spark-1.6.2的文档实现. 一.DataFrame对象的生成 Spark-SQL可以以其他RDD对象.parquet文件.json文件.Hive表,以及通过JDBC连接到其他关系型数据库作为数据源来生成DataFrame对象.本文将以MySQL数据库为数据源,

交换排序问题

如果有个数组strs,我们怎样实现将它的数据从小到大排序. 1.以前我们解决过这种问题:找到数组的最小数据 //首先假设数组的第一项就是最小的,int min=strs[0]; for(int i=0; i<strs.Length; i++) { if(strs[i]>min) { //说明strs[i]是最小的项 Console.Write("strs[i]"); } } 2.理解了上面这个问题,那么这道题的问题就好解决了. 重复动作:如果索引为0位置的数字比索引为j位置

线程基础:多任务处理(13)——Fork/Join框架(解决排序问题)

============== 接上文< 线程基础:多任务处理(12)--Fork/Join框架(基本使用)> 3. 使用Fork/Join解决实际问题 之前文章讲解Fork/Join框架的基本使用时,所举的的例子是使用Fork/Join框架完成1-1000的整数累加.这个示例如果只是演示Fork/Join框架的使用,那还行,但这种例子和实际工作中所面对的问题还有一定差距.本篇文章我们使用Fork/Join框架解决一个实际问题,就是高效排序的问题. 3-1. 使用归并算法解决排序问题 排序问题是

DataFrame中的write与read编程

一:准备 1.启动服务 2.启动spark-shell 二:测试检验程序 1.DataFrame的构成 2.结果 三:DataFrame的创建 1.创建SQLContext val sqlContext=new SQLContext(sc) 2.创建DataFrame(两种方式) val df=sqlContext.# val df=sqlContext.read.# 3.DataFrame数据转换 val ndf=df.#.# 4.结果保存 ndf.# ndf.write.# 四:DataFr