楼主: 大多数88
1965 46

[量化金融] 图论在投资中的应用 [推广有奖]

41
mingdashike22 在职认证  发表于 2022-6-11 14:14:51
WEIGHT\\u DICTIONARY[“CRM”]=8436445 81。WEIGHT\\u字典[“MO”]=20993784 82。WEIGHT\\u字典[“ACN”]=7143811 83。WEIGHT\\u字典[“AVGO”]=4812683 84。WEIGHT\\u字典[“COST”]=4884066 85。WEIGHT\\u字典[“PYPL”]=13196811 86。WEIGHT\\u字典[“UTX”]=9043813 87。WEIGHT\\u字典[“CVS”]=14476559 88。WEIGHT\\u字典[“TMO”]=4485843 89。WEIGHT\\u字典[“NKE”]=14260508 90。WEIGHT\\u字典[“TXN”]=10839165 91。WEIGHT\\u字典[“NVDA”]=6778510 92。WEIGHT\\u字典[“GILD”]=14452690 93。WEIGHT\\u字典[“BKNG”]=529460 94。WEIGHT\\u字典[“BMY”]=18200668 95。WEIGHT\\u字典[“NEE”]=5259724 96。WEIGHT\\u字典[“SBUX”]=13814848 97。WEIGHT\\u DICTIONARY[“USB”]=17076010 98。WEIGHT\\u字典[“COP”]=12956442 99。WEIGHT\\u DICTIONARY[“AXP”]=7874480 100。WEIGHT\\u字典[“AMT”]=4914949 101。WEIGHT\\u字典[“CAT”]=6618982 102。WEIGHT\\u字典[“UPS”]=7733609 103。WEIGHT\\u字典[“ANTM”]=2899479 104。WEIGHT\\u字典[“LOW”]=9044233 105。WEIGHT\\u字典[“LMT”]=2762399 106。WEIGHT\\u字典[“WBA”]=9386737 107。WEIGHT\\u字典[“QCOM”]=13514317 108。WEIGHT\\u字典[“CME”]=3940956 109。WEIGHT\\u字典[“MDLZ”]=16363128 110。WEIGHT\\u字典[“DUK”]=7946115 111。WEIGHT\\u字典[“BIIB”]=2245851 112。WEIGHT\\u字典[“GS”]=3916273 113。WEIGHT\\u字典[“BDX”]=2984299 114。WEIGHT\\u字典[“DHR”]=6867878 115。WEIGHT\\u字典[“ADP”]=4886452 116。WEIGHT\\u字典[“GE”]=96935416 117。WEIGHT\\u字典[“CB”]=5166407 118。WEIGHT\\u字典[“EOG”]=6460373 119。WEIGHT\\u DICTIONARY[“SLB”]=15436883 120。WEIGHT\\u字典[“PNC”]=5178182 121。WEIGHT\\u字典[“SPG”]=3448428 122。WEIGHT\\u字典[“TJX”]=13968048 123。WEIGHT\\u字典[“CHTR”]=1990736 124。

42
mingdashike22 在职认证  发表于 2022-6-11 14:14:54
WEIGHT\\u字典[“ISRG”]=1268706 125。WEIGHT\\u字典[“CSX”]=9093531 126。WEIGHT\\u字典[“MS”]=14786210 127。WEIGHT\\u字典[“CL”]=9663777 128。WEIGHT\\u字典[“ESRX”]=6268218 129。WEIGHT\\u字典[“INTU”]=2886636 130。WEIGHT\\u字典[“SYK”]=3461191 131。WEIGHT\\u字典[“FOXA”]=11751387 132。WEIGHT\\u字典[“OXY”]=8525703 133。WEIGHT\\u字典[“CI”]=2710333 134。WEIGHT\\u字典[“SCHW”]=13411722-50-135。index\\u input=str(input(“您希望将您的投资组合与什么指数进行比较?\\n”))137。index\\u data=pdr。DataReader(index\\u input,\'yahoo\',start\\u date,end\\u date)[\'Adj Close\']138。139.#函数,根据行号计算投资组合中一股股票的起始价格。def portfolio\\u calc(世界其他地区):141。价格=0 142。如果index\\u输入==“SPY”:143。对于范围(0,len(tickers))中的列:144。价格+=(数据[股票代码[列]]。iloc[行]*权重字典[股票代码[列]])145。sum\\u of\\u shares+=权重\\u字典[标记器[列]]146。价格=价格/股份总数147。如果index\\u input=“^DJI”:148。价格=数据。总和(轴=1)[行]/长度(标记)149。如果index\\u输入!=“^DJI”和“SPY”:150。价格=数据。总和(轴=1)[行]151。退货价格152。153.    154. 打印(“您的投资组合的起始价格为”,portfolio\\u calc(0),”)155.    156. index\\u list=[]157。公文包列表=[]158。159、对于范围内的r(0,len(数据索引)):160。index\\u列表。追加(index\\u data.iloc[r])161。portfolio\\u列表。追加(portfolio\\u calc(r))162。比较=pd。数据帧(index=data.index)164。比较[\'Index Price\']=索引列表165。比较[\'Portfolio Price\']=Portfolio\\u列表166。167.#创建一个新的数据帧,将美元价格更改为之前值的百分比变化。

43
kedemingshi 在职认证  发表于 2022-6-11 14:14:57
比较百分比=pd。数据帧(索引=数据索引)169。170.    171. def percent\\u change(列,行):172。如果列==1:173。百分比=((比较[“指数价格”]。iloc[r]-比较[“指数价格”]。iloc[0])174。/比较[“指数价格”]。iloc[0])175。如果列==2:176。百分比=((比较[\'Portfolio Price\'。iloc[r]-比较[\'Portfolio Price\'。iloc[0])177。/比较[“组合价格”]。iloc[0])178。回报率179。180.    181. index\\u list\\u percent=[]182。portfolio\\u price\\u percent=[]183。184.对于范围内的r(0,len(比较百分比指数)):185。index\\u list\\u百分比。追加(百分比变化(1,r))186。portfolio\\u price\\u百分比。追加(百分比变化(2,r))187。188.比较百分比[“指数价格”]=指数列表百分比189。comparison\\u percentage[\'Portfolio Price\']=Portfolio\\u Price\\u percent 190。跑赢大市计数=0 192。total\\u count=0 193。194.对于范围内的r(0,len(比较百分比指数)):-51-195。if comparison\\u percentage[“组合价格”]。iloc[r]>比较百分比[“指数价格”]。iloc[右]:196。跑赢大市计数+=1 197。total\\u count+=1 198。跑赢大市百分比=(跑赢大市计数/总计数)*100 199。打印(比较百分比)201。打印(“您的投资组合,包括“、股票“、跑赢大市”、索引\\u输入、跑赢大市百分比、”%的时间。”)202.    203. 比较\\u百分比。绘图()204。plt。show()C.股票指数投资计划1。“”“2.使用指标3测试投资。4.安装:5。$pip Install fix\\u yahoo\\u finance--升级--无缓存目录6。pip Install pandas datareader 7。”\"\"   8.  从pandas\\u datareader将数据导入为pdr 9。

44
能者818 在职认证  发表于 2022-6-11 14:15:00
导入matplotlib。pyplot为plt 10。将熊猫作为pd 11导入。将numpy作为np 12导入。将fix\\u yahoo\\u finance作为yf 13导入。将networkx导入为nx 14。15.     16.  yf。pdr\\u override()17。18、指标=[]19。20.ticker\\u input=输入(“请输入您选择投资的股票行情。”)21。22、indicator\\u input=输入(“请输入您选择加入投资组合的股票代码。完成后只需键入‘完成’!\\n”)23。24、while indicator\\u input!=“完成”:25。指标。追加(str(indicator\\u input))26。indicator\\u input=输入()27。28、start\\u date=输入(“在此处输入开始获取数据的日期(请将其转换为YYYY-MM-DD格式)\\n”)29。30.data\\u end\\u date=输入(“在此输入我们将停止从中获取数据的日期(请将其转换为YYYY-MM-DD格式)\\n”)31。32、emulation\\u end\\u date=输入(“在此处输入投资模拟将达到的日期(请将其转换为YYYY-MM-DD格式)\\n”)33。34.#使用用户提供的输入从Yahoo下载数据。35、ticker\\u数据=pdr。DataReader(ticker\\u输入,\'yahoo\',start\\u date,data\\u end\\u date)[\'Adj Close\']36。指示器\\u数据=pdr。DataReader(指标‘yahoo’、start\\u date、data\\u end\\u date)[‘Adj Close’]37。38.     39.  def corr(x,y,天):40。x\\u平均值=x.平均值()-52-41。y\\u平均值=y.平均值()42。分子\\u和=0 43。分母\\u sum\\u x=0 44。分母\\u sum\\u y=0 45。对于范围内的i(天,len(x)):46。分子\\u sum+=(x[i]-x\\u平均)*(y[i天]-y\\u平均)47。分母\\u sum\\u x+=(x[i]-x\\u平均值)**2 48。分母\\u sum\\u y+=(y[i天]-y\\u平均)**2 49。相关性\\u值=(分子\\u和/((分母\\u和x*分母\\u和y)**(0.5)))50。返回correlation\\u值51。52

45
mingdashike22 在职认证  发表于 2022-6-11 14:15:03
最佳\\u SHIFT\\u字典={}53。最佳\\u CORR\\u字典={}54。ticker\\u emulation\\u data=pdr。DataReader(ticker\\u输入,\'yahoo\',data\\u end\\u date,emulation\\u end\\u date)[\'Adj Close\']56。indicator\\u emulation\\u data=pdr。DataReader(指标“yahoo”、data\\u end\\u date、emulation\\u end\\u date)[“Adj Close”]57。58、对于范围内的indicator\\u index(0,len(indicators)):59。最高相关性=corr(ticker\\u data,indicator\\u data[指标[指标索引]],1)60。最高\\u天=1 61。对于范围(1,80)内的n:62。如果corr(ticker\\u data,indicator\\u data[指标[指标索引]],n)>最高相关性:63。最高\\u相关性=corr(ticker\\u data,indicator\\u data[指标[指标索引]],n)64。如果n>最高\\u天:65。最高\\u天=n 66。67、OPTIMAL\\u SHIFT\\u DICTIONARY[indicators[indicator\\u index]]=最高\\u天数68。OPTIMAL\\u CORR\\u DICTIONARY[指标[指标索引]]=最高的\\u相关性69。打印(OPTIMAL\\u SHIFT\\u DICTIONARY)70。打印(OPTIMAL\\u CORR\\u DICTIONARY)71。72、ticker\\u emulation\\u data\\u pct=ticker\\u emulation\\u data。pct\\U更改()73。indicator\\u emulation\\u data\\u pct=indicator\\u emulation\\u数据。pct\\U更改()74。75.     76.  def测试(r):77。条件=0 78。对于范围(0,len(indicators))中的indicator\\u索引:79。如果indicator\\u emulation\\u data\\u pct[指标[指标索引][r-OPTIMAL\\u SHIFT\\u DICTIONARY[指标[指标索引]]]>0:80。条件+=1 81。if conditionals>=number\\u of\\u true:82。返回“true”83。其他:84。返回“false”85。86.     87.  portfolio\\u price=ticker\\u emulation\\u data[0]88。89、打印(len(指标),“已经建立了关系。这些关系中有多少是真实的,才能投资于”90。

46
何人来此 在职认证  发表于 2022-6-11 14:15:06
,ticker\\u input,“若要尝试新号码,请关闭窗口并键入新号码。如果完成,请输入任何负数。”)91、number\\u of\\u true=int(input())92。93、当\\u number\\u of\\u true>=0时:94。continuous\\u Investment=ticker\\u emulation\\u数据[:]-53-95。指示性投资=[]96。对于范围内的r(0,len(ticker\\u emulation\\u data.index)):97。如果number\\u of\\u true==0:98。如果r==0:99。last\\u true=portfolio\\u价格100。如果r!=0:   101.                 last\\u true=(last\\u true+(ticker\\u emulation\\u data[r]-ticker\\u emulation\\u data[r-1])102。其他:103。如果r<最高\\u天:104。last\\u true=portfolio\\u价格105。如果r>=最高\\u天:106。如果测试(r)=“真”:107。last\\u true=(last\\u true+(ticker\\u emulation\\u data[r]-ticker\\u emulation\\u data[r-1])108。指示性投资。追加(last\\u true)109。比较=pd。数据帧(索引=ticker\\u emulation\\u data.index)111。比较[\'Continuous Investment\']=Continuous\\u Investing 112。比较[“指示性投资”]=指示性投资113。114、打印(比较)115。116、比较。绘图()117。plt。显示()118。number\\u of\\u true=int(input())119。标签={}121。labels[0]=ticker\\u输入122。对于范围内的i(1,len(指示器)):123。标签【i】=指示器【i】124。图={}126。127、对于范围(0,len(indicators))中的indicator\\u索引:128。如果indicator\\u emulation\\u data\\u pct[指标[指标索引][(len(ticker\\u emulation\\u data.index))-OPTIMAL\\u SHIFT\\u DICTIONARY[指标[指标索引]]]>0:129。图表[指标[指标索引]]=“1”130。131.    132. 标签={}133。标签[\'1\']=ticker\\u输入134。

47
可人4 在职认证  发表于 2022-6-11 14:15:09
打印(图表)136。G=nx。有向图137。G、 从(指示器)138添加\\u nodes\\u。H=nx。重新标记节点(G,标签)139。nx。绘制(H,node\\u color=\'black\',标签=True,node\\u size=800,font\\u size=10,font\\u color=\'white“)140。plt。显示()

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-7 17:02