我有一个巨大的数据库(大约100个变量和几百万行)由股票数据组成。我设法通过sqlalchemy(postgreql+psycopg2)将python与数据库连接起来。我在云上运行它。你知道吗
原则上我想做几件事: 1) 所有可能组合的回归:我对每只股票进行简单的回归,即XYZ上的ABC和ABC上的XYZ,这对n=100只股票进行回归,得到n(n+1)/2个组合。 ->;我想到一个函数,它调用股票对,进行两次回归,比较结果,并根据一些标准选择一个。 我的问题是:有没有一个有效的方法来调用“阶乘”?你知道吗
2)滚动窗口:为了避免数据过载,我想只调用调查数据框,即30天,然后每天滚动,意思是我的周期是:
1: 1D-30D
2: 2D-31D and so on
这意味着我总是在第一天删除数据帧,然后在数据帧的末尾添加另一行。所以我有两个步骤,从第一天开始,从数据库中读取下一行。 我的问题是:这是一种有意义的方法还是Python有更好的方法?你会怎么做?你知道吗
3)扩展窗口:我没有删除第一行并添加另一行,而是保留30天,再添加30天,然后运行我的回归。这里的问题是,在某个时候,我会接受所有可能对内存来说太大的数据? 我的问题是:什么是解决办法?你知道吗
4)当我在云上运行我的分析时(比我自己的pc多几个内核),事实上我可以使用多线程,发送“批处理”作业,并让Python并行处理。我想把我的数据集分成4x25个股票,让它并行运行(垂直拆分),还是最好水平拆分? 另外,我正在使用Jupyter;我想知道如何在这里找到最好的方法,通常我有一个shell脚本调用_程序.py. 这里是一样的吗?你知道吗
让我试着明确地给出答案,并记下我的观察结果。你知道吗
希望这些能回答你的问题。你知道吗
相关问题 更多 >
编程相关推荐