如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
证明我们上面的策略是最佳策略?那不就是证明我们的策略是最能赚钱的吗,这能怎么证明?应该有一个类似最佳标准。所以目前问题还是主要第一问。
1.3 第三问
读题:
看到关键词:敏感程度 ,就知道这是一个敏感度分析,因为太常见了,你一定要知道。继续仔细读题,什么的敏感程度?交易成本!交易成本有什么?我们是还不知道那1000美元怎么比例分配的吧,第二问我们就证明出它是个最佳策略了,就是最赚钱的嘛,虽然我们还不知道怎么证明,应该就是控制这个比例,交易成本?是不是还在想把1000美元变成2000,3000?这个没多大意义,跟控制这个比例是一样的。
1.4 第四问
题目说到:传达策略,模型,结果,三点内容。
策略:百度一下股票投资测类,发现是有很多种,我们在第一问应该只是随便选取的一种,投资是有风险的,我们无法证明哪个策略好,风险高的一半回报大,但是亏也有可能大。所以我们可以在这讲一下第一问的策略,在多提出几种方案(百度请)。
模型:再介绍一下模型的优缺点?
结果:把结果贴出来,用自己的语言描述一下。
2.1 思路方法指导
首先给大家说一个产业链坑,很多人一打数学建模比赛就会百度:xx数学建模思路,如果你是小白,那么我建议你可以参考,可以给你提供一个方向,你应该更绝那样的方向去自行搜索更多准确的资料,但是基本都是错误的思路,不要相信它什么985团队,扯犊子的,我们数模圈几乎是没有人有人能给你提供思路,有能力的人不会出来说话,半斤八俩的人就是在网上开始收割韭菜,瞎扯点思路,然后跳转面包多(以后遇到在这里买的,基本都不靠谱),不针对任何人,也不是针对面包多这个产品,我实话实说,所以一定要靠自己,打比赛不要着急,第一天你可能什么思路都没有,你能做的可能都是百度,查到有用的资料就保存起来给团队一起看,大家都觉得好那就一定有用。
上面我说到:百度。我说的百度不是真的让你用百度,这仅仅是因为大多数人用的是百度,百度已经成了搜索的代有名词,我的建议是对你的浏览器换搜索引擎,至少你应该用:bing引擎,最好是使用谷歌引擎。
哪里换浏览器引擎?设置-搜索引擎
顺便说一下,个人建议浏览器用谷歌浏览器。我一般会怎么搜私聊,如果我是很着急学习一门技术,需要最快时间定位到最好的资料,我会使用谷歌引擎,如果自己没多大需求,我就换回bing引擎。再说一下:谷歌引擎会让你进入全新的学习世界。
比如说我看到这个题就是讲的股票投资,我会如何搜索?
这样?
不,应该这样:(这是bing引擎)
这是谷歌搜索:
看来第一篇很不错,排在越上面,说明质量越好的,多查类似资料,我们可以由此确定方向具体化:量化投资股票。
2.2 第一问思路
根据题目可以看出是要预测,注意预测不要站在上帝视角预测,是根据已有数据预测,所以怎么查资料?
懂了吧?多参考几篇写得好的,认真阅读,把他们提到的模型拿来改改符合题目要求是不是就可以了?加上股票风险分析之类的,自己搜一下就会了。
2.3 第二问思路
证明策略好坏?那就是对策略好坏做个评价呗。这个确实不知怎么想,所以继续搜索:
经过多篇文章查询,我们是可以确定到这样一个方法:回测
然后我们会看到这样的标题很符合我们的题目:
认真读一下题,确实很符合,于是我多看了几篇,发现有专门的回测模块,于是就去搜索回测模块,经过查询体验最好的是Backtrader,然后呢就继续学习一下框架吧,就能做出来了,不难的,在这里我给大家展示一个实现代码,会有类似效果:
主要模块安装,其它模块自行安装:
!pip install backtrader
模块导入:
import datetime
from datetime import datetime
import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style(‘whitegrid’)
import backtrader as bt
import backtrader.feeds as btfeeds
获取比特币范围数据:
start = datetime(2016, 9, 11) # or start = ‘9/12/2016’
end = datetime(2021, 9, 12)
df= web.DataReader(‘BTC-USD’, ‘yahoo’, start, end)#雅虎财经获取比特币数据
print(df)
下面以一个简单的单均线策略为例,展示backtrader的使用过程,即当收盘价上涨突破20日均线买入(做多),当收盘价下跌跌穿20日均线卖出(做空):
class my_strategy1(bt.Strategy):
#全局设定交易策略的参数
params=(
(‘maperiod’,20),
)
def init(self):
#指定价格序列
self.dataclose=self.datas[0].close
初始化交易指令、买卖价格和手续费
self.order = None
self.buyprice = None
self.buycomm = None
#添加移动均线指标,内置了talib模块
self.sma = bt.indicators.SimpleMovingAverage(
self.datas[0], period=self.params.maperiod)
def next(self):
if self.order: # 检查是否有指令等待执行,
return
检查是否持仓
if not self.position: # 没有持仓
#执行买入条件判断:收盘价格上涨突破20日均线
if self.dataclose[0] > self.sma[0]:
#执行买入
self.order = self.buy(size=50)
else:
#执行卖出条件判断:收盘价格跌破20日均线
if self.dataclose[0] < self.sma[0]:
#执行卖出
self.order = self.sell(size=100)
股票数据读取:
#先引入后面可能用到的包(package)
import pandas as pd
from datetime import datetime
import backtrader as bt
import matplotlib.pyplot as plt
%matplotlib inline
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams[‘font.sans-serif’]=[‘SimHei’] #使用tushare获取浦发银行(代码:600000)数据。
#使用tushare旧版接口获取数据
import tushare as ts
def get_data(code,start=‘2016-09-11’,end=‘2021-09-09’):
df=ts.get_k_data(code,autype=‘qfq’,start=start,end=end)
df.index=pd.to_datetime(df.date)
df[‘openinterest’]=0
df=df[[‘open’,‘high’,‘low’,‘close’,‘volume’,‘openinterest’]]
return df
dataframe=get_data(‘600000’)
#回测期间
start=datetime(2010, 3, 31)
end=datetime(2020, 3, 31)
加载数据
data = bt.feeds.PandasData(dataname=dataframe,fromdate=start,todate=end)
初始化回测系统:
cerebro = bt.Cerebro()
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!