我正在做一个股票价格的蒙特卡洛模拟,我试图减少我的代码的计算时间。我将如何对其进行矢量化?
# t = number of prices to be simulated
# N = # of simulations
# S0 = starting price
Z_S = np.random.normal(0,1,(t,N))
St = np.zeros((t,N)
St[0,:] = S0
for i in range(N):
for j in range(1,t):
St[j,i] = St[j-1,i] + r*St[j-1,i]*dt + np.sqrt(
单责任原则:-
每个班级都应该承担单一的责任。基本上,应该有一个改变的理由。我不知道最后一句到底是什么意思。我的解释是,要以一种应该改变的方式来设计类,可以有一个单一的方法,因为每个方法都是一个行为,因此也是一个原因。对吗?如果不是,究竟是什么定义了原因?
考虑一个股票交易系统,其中大多数开发人员提出了一个设计,其中StockService.java有买卖的方法。这里有两个理由(买卖)来改变这个类别。
public class StockService {
private String name = "ABC";
private int quantity
这是一个简单的Python交易系统,它将结果转储到excel电子表格中。每当满足条件时,我首先用'x‘填充最终的数据帧'trades’(excel列'trades')。我需要将其余的x替换为每笔交易的买入价。到目前为止,代码只将买入价放在顶部。以下是使用yfinance获取股票数据的代码: import pandas as pd
import numpy as np
import yfinance as yf
import datetime as dt
import xlsxwriter as xl
from pandas_datareader import
这是我在这里的第一篇文章,我希望你能理解是什么困扰着我。 所以,我有一个DataFrame,它包含了从2010年开始每天大约1200家公司的价格。现在我要计算每一个的总回报。我的DataFrame是按日期编制索引的。我可以使用df.iloc[-1]/df.iloc[0]方法,但一些公司在较晚的日期开始公开交易,因此我无法获得这些公司的结果,因为它们除以NaN值。我尝试创建了一个列表,其中包含每个股票(列)的第一个有效索引,然后当我试图计算总回报时,我得到了错误的结果!我尝试了一个经典的for循环: for l in list:
returns = df.iloc[-1]/df.iloc
我有以下函数(在Matlab中),它将计算给定的一组预测和观测值的一致性指数:
function civalue = CI(predval)
% FUNCTION civalue = CI(predval)
%
% DESCRIPTION:
% - This function will calculate the concordance index. Not suitable for
% big vectors. O(n^2) time function.
%
% INPUTS:
% 'predval' a n-by-2 matrix, where the first c