import%20marimo%0A%0A__generated_with%20%3D%20%220.14.9%22%0Aapp%20%3D%20marimo.App()%0A%0Awith%20app.setup%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20pandas%20as%20pd%0A%20%20%20%20from%20mongoengine%20import%20connect%0A%20%20%20%20from%20mongomock%20import%20MongoClient%0A%20%20%20%20from%20antarctic.pandas_field%20import%20PandasField%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20%23%20connect%20with%20your%20existing%20MongoDB%20(here%20I%20am%20using%20a%20popular%20interface%20mocking%20a%20MongoDB)%0A%20%20%20%20client%20%3D%20connect(db%3D%22test%22%2C%20mongo_client_class%3DMongoClient)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20from%20mongoengine%20import%20Document%0A%0A%20%20%20%20class%20Portfolio(Document)%3A%0A%20%20%20%20%20%20%20%20nav%20%3D%20PandasField()%0A%20%20%20%20%20%20%20%20weights%20%3D%20PandasField()%0A%20%20%20%20%20%20%20%20prices%20%3D%20PandasField()%0A%0A%20%20%20%20return%20(Portfolio%2C)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20ts%20%3D%20pd.read_csv(%0A%20%20%20%20%20%20%20%20mo.notebook_location()%20%2F%20%22public%22%20%2F%20%22ts.csv%22%2C%20index_col%3D0%2C%20parse_dates%3DTrue%0A%20%20%20%20)%0A%20%20%20%20print(ts)%0A%20%20%20%20return%20(ts%2C)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20prices%20%3D%20pd.read_csv(%0A%20%20%20%20%20%20%20%20mo.notebook_location()%20%2F%20%22public%22%20%2F%20%22price.csv%22%2C%0A%20%20%20%20%20%20%20%20index_col%3D0%2C%0A%20%20%20%20%20%20%20%20parse_dates%3DTrue%2C%0A%20%20%20%20%20%20%20%20header%3D0%2C%0A%20%20%20%20)%0A%20%20%20%20print(prices)%0A%20%20%20%20return%20(prices%2C)%0A%0A%0A%40app.cell%0Adef%20_(Portfolio%2C%20prices%2C%20ts)%3A%0A%20%20%20%20portfolio%20%3D%20Portfolio(%0A%20%20%20%20%20%20%20%20nav%3Dts%2C%0A%20%20%20%20%20%20%20%20prices%3Dprices%2C%0A%20%20%20%20%20%20%20%20weights%3Dpd.DataFrame(index%3Dprices.index%2C%20columns%3Dprices.columns%2C%20data%3D1.0%20%2F%207)%2C%0A%20%20%20%20)%0A%20%20%20%20portfolio.save()%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
8c290807a6986ad34b406bcef4b282b78ffe15ab88de9cba80261d67b57e8b99