小编Mik*_*ton的帖子

在Python中计算复合的返回系列

问候所有,我有两个系列的数据:每日原始股票价格回报(正或负浮动)和交易信号(买= 1,卖= -1,无交易= 0).

原始价格回报只是今天价格的对数除以昨天的价格:

log(p_today / p_yesterday)
Run Code Online (Sandbox Code Playgroud)

一个例子:

raw_return_series = [ 0.0063 -0.0031 0.0024 ..., -0.0221 0.0097 -0.0015]
Run Code Online (Sandbox Code Playgroud)

交易信号系列如下:

signal_series = [-1. 0. -1. -1. 0. 0. -1. 0. 0. 0.]
Run Code Online (Sandbox Code Playgroud)

根据交易信号获得每日回报:

daily_returns = [raw_return_series[i] * signal_series[i+1] for i in range(0, len(signal_series)-1)]
Run Code Online (Sandbox Code Playgroud)

这些每日回报可能如下所示:

[0.0, 0.00316, -0.0024, 0.0, 0.0, 0.0023, 0.0, 0.0, 0.0] # results in daily_returns; notice the 0s
Run Code Online (Sandbox Code Playgroud)

我需要使用daily_returns系列来计算复合的返回系列.但是,假设daily_returns系列中有0个值,我需要将"通过时间"的最后一个非零复合返回到下一个非零复合返回.

例如,我像这样计算复合回报(注意我将随着时间"向后"):

compound_returns = [(((1 + compounded[i + 1]) * (1 + daily_returns[i])) - 1) for i in range(len(compounded) - …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension time-series pandas

9
推荐指数
1
解决办法
8202
查看次数

可能的网络连接数

由于端口号限制为65536,连接数量是否有限制?

每个连接如何彼此不同?

如果它是通过端口,那么同时不会有超过65536个连接?

sockets connection port

9
推荐指数
2
解决办法
5356
查看次数

从TCP套接字接收数据包数据包?

我有一个tcp套接字,我接收视频流.我希望从socket接收数据包,以便我可以删除数据包标头并保留唯一的流数据.我怎样才能做到这一点??

任何帮助将不胜感激.

c c++ sockets tcp

9
推荐指数
2
解决办法
1万
查看次数

难以使用Python的socket.gethostbyaddr()

我试图在python中使用socket.gethostbyaddr()来反转dns一个IP列表,它为某些值返回'Unknown Host',但是对同一个ip使用dig会返回Hostname.此外,挖掘似乎比使用python模块快得多,有什么具体原因吗?

import socket

# This returns 'Unknown Host' 
name, alias, addresslist = socket.gethostbyaddr('114.143.51.197')
Run Code Online (Sandbox Code Playgroud)

python networking dig gethostbyaddr python-sockets

9
推荐指数
1
解决办法
2万
查看次数

为什么ip片段必须是8个字节的倍数

在教科书计算机网络 James F.Kurose Fifth Ed,ch4中提到过

的IP片段必须是8个字节的倍数,并且由于标志IP报头中需要3个比特.我不明白为什么ip碎片必须是8个字节的倍数.

ip networking

9
推荐指数
3
解决办法
2万
查看次数

万无一失的跨平台进程杀死守护进程

我有一些python自动化,它产生telnet我用linux script命令记录的会话; script每个日志记录会话有两个进程ID(父级和子级).

我需要解决一个问题,如果python自动化脚本死了,script会话永远不会自己关闭; 由于某种原因,这比它应该更难.

到目前为止,我已经实现了watchdog.py(请参阅问题的底部)守护自身,并在循环中轮询python自动化脚本的PID.当它看到python自动化PID从服务器的进程表中消失时,它会尝试终止script会话.

我的问题是:

  • script会话总是产生两个独立的进程,其中一个script会话是另一个script会话的父进程.
  • watchdog.py script如果我script从自动化脚本启动会话,则不会终止子会话(请参阅下面的自动化示例)

自动化示例(reproduce_bug.py)

import pexpect as px
from subprocess import Popen
import code
import time
import sys
import os

def read_pid_and_telnet(_child, addr):
    time.sleep(0.1) # Give the OS time to write the PIDFILE
    # Read the PID in the PIDFILE
    fh = open('PIDFILE', 'r')
    pid = int(''.join(fh.readlines()))
    fh.close()
    time.sleep(0.1) …
Run Code Online (Sandbox Code Playgroud)

python linux process watchdog

9
推荐指数
1
解决办法
1835
查看次数

Makefile - 我应该如何提取“pyproject.toml”中嵌入的版本号?

我有一个带有pyproject.toml文件的 python 项目。通常我将项目的版本号存储为pyproject.toml这样:

% grep version pyproject.toml 
version = "0.0.2"
%
Run Code Online (Sandbox Code Playgroud)

我想将该版本号放入Makefile变量中,无论版本术语周围有多少空格。

我应该怎么做才能将pyproject.toml版本字符串提取到Makefile名为 的环境变量中VERSION

python makefile pyproject.toml

9
推荐指数
2
解决办法
4531
查看次数

Python与Java - 您会选择哪种并发编程?为什么?

另外,如果不是python或java,那么你会更普遍地选择静态类型语言还是动态类型语言?

python java concurrency python-stackless

8
推荐指数
5
解决办法
1万
查看次数

哪种编程语言支持热代码交换和/或沙盒?

我想写一个基于网络的MMO游戏,允许用户编写AI并将其作为游戏的一部分运行.我计划将Html5用于图形,并希望它是基于网络的,因此可以从智能手机访问它.我需要找到一种支持沙盒,并发,热代码交换和大型库的编程语言,以使事情变得更容易.

这时候我的研究出现了Erlang,Stackless Python和Lua.任何帮助表示赞赏.

erlang lua sandbox stackless python-stackless

8
推荐指数
2
解决办法
2221
查看次数

使用web2py DAL.define_table()初始化数据库表的正确方法

我正在尝试动态构建调用的表,db.blogdb.code使用完全相同的SQL定义.在我定义它们之后,我想用10行随机数据填充它们,并且永远不再执行该初始化代码.

我的问题是每当我在浏览器上点击刷新时执行初始化代码,而我查看newblog appadmin接口db.codedb.blog:https://172.25.1.1/newblog/appadmin/select/db?query = db.code.id > 0

我初始化db.blogdb.codenewblog/models/newblog.py:

from gluon import *
from gluon.contrib.populate import populate

## initialize db.blog and db.code: 
##     At runtime, build TAGGED_TABLES (once)
TAGGED_TABLES = set(['blog', 'code'])
for tt in TAGGED_TABLES:
    if not db.get(tt, False):
        db.define_table(tt,
            Field('name', length=32, notnull=True),
            Field('value', length=65535, notnull=True),
            Field('tags', type='list:reference tag', unique=False, notnull=False),
            )

        populate(db.get(tt), 10)

        ## cross-reference db.tagged_tables to this one
        db.tagged_tables.insert(name=tt,
            database_pointer='reference %s' % …
Run Code Online (Sandbox Code Playgroud)

python database web2py

8
推荐指数
1
解决办法
3757
查看次数