“Python 金融数据分析实验”课程教学中存在的问题及对策研究

2023-02-03 02:52刘伟荣刘安庚蔡凌飞
科学咨询 2023年24期
关键词:课程内容基础知识编程

刘伟荣,刘安庚,蔡凌飞

(1.上海商学院工商管理学院;2.上海商学院教务处;3.上海商学院商务信息学院,上海 200235)

近年来,Python在金融数据分析领域的应用越来越普及,如何从数据里面发现并挖掘有价值的信息成为一个热门的研究课题[1]。在应用型人才培养理念下,以Python为分析工具,金融数据分析为载体,用实验的形式让学生掌握金融数据分析的方法,既能满足学生的学习需求,巩固相关金融理论知识,又能形成一定的金融实践能力与探索能力。

Python作为一种简单易学,功能强大的编程语言,在金融数据分析领域越来越受到追捧。Python具有许多优秀特性,一是丰富的扩展库,Python拥有如NumPy、Pandas、Scikit-learn等丰富的扩展库,这些库可以方便地进行数据分析和处理。例如,使用NumPy可以高效地进行数值计算;使用Pandas可以轻松地处理数据;使用Scikit-learn可以进行机器学习。二是强大的可视化能力,Python拥有良好的可视化能力,可以通过Matplotlib、Seaborn等库生成各种图表,使得数据分析结果更加直观和易懂。三是可扩展性,Python可以与其他编程语言相结合,如R、Java等,扩展其功能。例如,可以使用RPy2将Python和R结合使用,使用JPype将Python和Java结合使用。四是开源性,Python的开源性质使其得到了广泛的社区支持和贡献,为用户提供了丰富的资源和工具。用户可以自由地获取、使用、修改和分享Python代码,促进了Python社区的发展和进步。五是基于Python的金融数据分析社区愈发完善,例如,优矿、聚宽、Tushare等开源平台提供了丰富的数据资源与学习资源。正是这些优良特性,使Python语言在金融数据分析领域的作用越来越重要,使金融数据分析与研究发生了巨大的变革[1]。

“Python金融数据分析实验”课程是一门具有一定挑战性的课程,它能够有效地培养学生的编程能力,提高数据处理和数据分析能力。在今天这个数据时代,数据分析技能尤其受到广泛的关注,而Python作为一种强大的编程语言,已经成为了数据分析领域的最佳工具之一,学习本课程将对学生未来的职业发展产生很大的帮助。此外,课程以金融数据分析应用场景为目标,能够让学生了解科技在金融行业的应用,提高其对于当前宏观经济形势的研判能力。掌握Python在金融等数据分析领域的实战技能,能够为社会输送具有数据素养和分析能力的金融复合型人才[2]。因此,这门课程对金融领域的专业人才培养非常重要。

虽然Python作为工具能有效实现金融数据的处理和分析,有较强的实用性,然而作为一门课程,在教学实施过程中,仍然存在诸多问题。对学生来说,Python这门课程需要的基础知识比较广泛,如果学生基础不够扎实,他们可能会感到难以理解和应用这门课程的知识。此外,Python代码的抽象性也可能会让学生感到困惑,特别是那些没有编程经验的学生,他们可能会觉得案例代码的逻辑难以理解,从而导致他们在学习过程中出现困难和挫折。为了解决课程在教学实施中存在的问题,本文通过在教学中的尝试与探索,提出针对性的建议和对策,对有效改进此类课程的建设与开展提供思路与参考。

一、“Python 金融数据分析实验”课程教学中存在的问题

互联网技术的运用使得大规模数据的收集,以及数据的精准分析提供了可能,容量庞大的金融数据库对数据分析工具的效率和准确性提出了较高要求[3]。Python作为数据分析工具,在金融数据分析中起到重要作用,能对大批量金融数据有效分析,帮助投资者更好地理解市场趋势和投资机会。同时还能够提高分析的准确性和速度,使得金融决策更加明智和精确,并且能快速呈现可视化结果,是金融数据分析的一大利器。在教学中,Python的使用也能使学生更好地理解相关理论知识,也能使学生进一步明确理论在现实中的作用。但作为一门Python与金融数据分析相结合的课程,教学内容存在交叉性,课程内容知识量较大,加上学生基础各不相同,在教学过程中发现诸多问题亟待解决。

(一)编程基础不同,难以统一课程进度

由于“Python金融数据分析实验”课程内容涉及学科交叉,面向专业较广,而且未设置前置课程,导致面对学生基础差异大,难以将课程进度统一。这是一个普遍存在的问题,尤其是在涉及编程的课程中。对于没有编程基础的学生,课程会更具挑战性,需要用更多时间来掌握基础知识。因此,在编程基础的教学中,需要尽可能细致地讲解,并让学生尝试编写程序。这既可以通过一步步程序拆解与实现来帮助学生克服畏难情绪,也可以让无编程基础的学生有更多的机会练习,以便在课程中跟上进度。另一方面,对于那些已经有一定编程基础的学生来说,基础知识的教学可能会相对简单。在课堂教学中,这部分学生会认为课程内容缺乏挑战性。这也是一个需要重视的问题,如果课程内容过于简单,会导致学生失去兴趣和动力,影响其学习效果。

针对上述问题,对编程基础不同的情况,需要采取多种措施来解决。只有兼顾两类学生的学习需求,才能提高课程教学质量,这对提升课程教学质量具有重要意义。

(二)编程基础部分教学较枯燥

Python语言基础知识是整个课程的基石,掌握好基础知识是后期能快速上手Numpy、Pandas等模块的先决条件。本课程的编程基础主要涉及数据类型、常见数据容器、循环控制等内容,在教学中发现该部分内容讲解以“What”为主,很难将金融案例结合到Python编程基础教学中,导致部分学生会误认为该课程是一门以编程为主的课程,在未接触到金融编程案例时便失去兴趣。针对上述问题,如何通过课程结构、课程内容调整,改变枯燥的编程基础内容,将对课程的顺利开展起到重要作用。

(三)Python 代码抽象,演示效果差

Python对金融数据的处理能力强大,它可以处理大量的金融数据,包括交易数据、股票数据、汇率数据以及其他市场数据。这种功能对于金融机构和投资者来说是非常有用的,因为它可以帮助他们作出更好的决策。由于诸多数据分析与处理需要调用第三方库,在教学演示过程中,虽能体现Python强大数据处理能力,但金融数据处理过程显“黑箱”化,导致学生不理解金融数据处理的逻辑,而无法在实践中灵活运用。例如,每日收益率=(当日收盘价/前日收盘价)-1(即:t=pt/pt-1-1), Python中实现只需用.pct_change()函数就能计算结果,如图1所示。

图1 用.pct_change()函数计算每日收益率

“黑箱化”的特点,在教学中不利于展示与详细讲解,同时“黑箱化”在教学中不利于学生理解金融知识,从而导致学生知其然不知所以然。解决这一问题,能使学生在教学中理清金融数据处理的逻辑,帮助学生进一步巩固金融知识。

CNN具有2种特性:局部连接和参数共享。CNN中相邻2层的连接方式为局部连接,当前层每个神经元的值是对上一层进行卷积操作得到的,且每次卷积的参数相同。如图1所示。相同颜色的线表示相同的参数,li+1层神经元的值依赖于上一层神经元的值, li+1 层每个神经元共享参数。

二、教改举措

针对上述在教学中遇到的问题,通过不断调整与试错从中摸索出一些能有效解决上述问题的方法,现总结如下:

(一)线上线下相结合

针对学生基础差异较大的问题,通过线上线下相结合的方式可在一定程度上改善。Python编程基础知识的讲解较为枯燥且知识点单一,在线上线下相结合的形式下,可以通过不同措施来调动基础不同学生的注意力,增加学生的学习主动性与积极性。首先,为学生提供线上视频课程,详细讲解基础知识,而在课堂教学中,增加趣味性较强的案例分析和课堂讨论。基础不够扎实的学生可通过线上资源进一步提高和巩固,通过线上视频回顾相关内容,帮助基础薄弱的学生打下坚实基础。这些措施可以帮助学生更好地消化和巩固课程知识,为金融数据分析和处理打下坚实基础。其次,可以设置大量线上练习,供学生在课后选择性学习。此外增加一些线上小测验,检测学生的学习成果,可进一步提升教学效果。通过这些测验,我们可以及时调整教学内容与进度,保证学生能够跟上课程进度,增加学习主观能动性。通过线上线下相结合的方式,可以使学生更好地掌握编程基础知识,提高他们的学习质量和学习效率。

(二)金融案例与编程知识相结合

针对课程基础知识部分相对枯燥的问题,通过线上线下相结合的方式可在一定程度上得到解决,但还需要调整课程结构,使教学效果更佳。通过压缩课堂基础知识课时,并融入更多金融知识,可进一步提升教学效果。一方面,编程基础知识课时压缩并不意味着知识量减少,学生需根据自身基础,通过线上课程补充。另一方面,部分基础知识可融入后期的实验案例中进行讲解。这样既可以快速完成较为枯燥的基础知识讲解,快速进入课程主题,也能增加金融数据分析内容的教学。如在金融知识“最大回撤”概念的讲解中,以图形化的方式先使学生理解“最大回撤”的概念,介绍最大回撤的意义,并通过代码讲解实现“最大回撤”的计算与作图,使学生学习金融知识的同时,了解其原理,并能使用Python实现,如图2所示。这样既能提升授课效率,同时也能使课程内容进一步丰富,提高学生的学习兴趣。

图2 最大回撤案例讲解

(三)Python 与Excel 相结合

Excel在金融数据处理和分析中较常见,丰富的函数库、高级分析工具、VBA程序等功能,足以完成大部分金融计算,Excel在金融数据分析中特点鲜明,可以将操作步骤清晰展示出来,理清各组数据之间的逻辑关系,并能对公式进行解释说明,如图3所示,在教学中学生更容易接受与理解。但同时,Excel在金融数据分析中也存在较大缺点,如难以处理大批量数据,作图不方便等。金融数据的分析与建模往往需要用到大批量数据,Excel在实际处理上能力往往略显不足。而使用Python教学,则常常需要面对Python数据处理时的“黑箱问题”,在教学中不易将过程描述清楚,而对课程产生畏难情绪。

图3 用Excel 演示最大回撤

(四)组织讨论与分享

讨论与分享是提升Python编程能力的重要手段,为提高学生的学习兴趣和参与度,可组织讨论与分享。首先,向学生提出金融数据分析的案例;其次,分组讨论该问题的分析思路;再次,小组尝试用Excel和Python进行计算;最后,分享分析过程与结果。

对编程技能和数据分析相关知识的学习,讨论与交流是重要环节。对同一金融数据分析问题,不同学生有不同的编程思路,通过讨论,可促进学生之间相互交流,并从中获得新的思路和洞见。通过组织小组讨论或者课堂分享,学生可以相互交流和学习,特别是对存在的问题能有更清晰的认识,通过共同探讨难点和疑问。一方面可以加深对知识点的梳理和理解;另一方面可以增强学生的合作意识和自主学习能力。同时,老师也能在交流过程中进一步了解学生对知识点的掌握情况,以便对教学内容作出调整。

(五)定期调查学生反馈

为了及时了解学生对课程的反馈,可采用投票或问卷的方式,定期开展学生对课程掌握情况、授课方式接受程度进行调查。学生的反馈在一定程度上体现了学生对课程的整体满意度、课程内容的难易程度、教学方法的实用性等方面的情况,同时能了解每一位学生对知识点的接受程度。

通过投票或问卷的分析,一是可以了解学生对课程的建议和意见,根据反馈及时调整教学内容和方法,提高课程的教学质量。二是可针对部分认为课程难度大的学生,结合线上资源,提出定制化的学习方案,保障学习效果与教学进度。

四、结束语

Python编程语言因其优良特性,在金融数据分析领域的应用越来越普及,《Python金融数据分析实验》课程具有较强的实用性,因课程存在一定学科交叉性,且学生基础存在较大差异,在教学实施中仍存在诸多问题。为提高课程质量,提升课程教学水平,本文针对《Python金融数据分析实验》课程在教学中存在的问题,从教学内容、教学方法、学生反馈等方面提出了一些对策和建议。通过教学实践的不断探索与尝试,这些对策和建议可以有效提高课程的教学质量,帮助不同基础的学生更好地掌握金融数据分析的方法,提高其在金融领域的竞争力。

随着ChatGPT等自然语言处理工具的普及,像《Python金融数据分析实验》这类涉及编程的课程教学理念、教学方式、学习方式都将发生重大改变,在未来的教学中,应结合先进教学理念与教学工具,不断在教学实践中总结并尝试改进,为推进此类课程的建设做出贡献。

猜你喜欢
课程内容基础知识编程
基于“课程内容六要素”的绘本文本解读路径探析
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
掌握基础知识
学前教育专业体育课程内容的构建
基础知识巩固题精选
依标明辨 巧用萃取——谈如何将文本内容萃取成课程内容
基础知识:“互联网+”的基本概念