GithubHelp home page GithubHelp logo

tbancheva / investments-engine Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 16 KB

Проект за лични спестявания, който дава предложения къде и за колко време да се инвестират пари.

Java 100.00%

investments-engine's Introduction

Investments-Engine

Проект за лични спестявания, който дава предложения къде и за колко време да се инвестират пари.

Задание

Да се моделира задача за лични спестявания, човек трябва да си отговори на въпроса- къде и как да си инвестира парите по предварително зададена сума за зададен период. Има банки, фондове и други различни опции да вложим пари и да получим различен процент възвръщаемост за тези пари - като например да купим имот и да го отдаваме под наем за някаква цена. Всички тези опции имат даден процент риск за губене на пари, някои нямат никакъв риск, някои имат нисък, а други висок риск. Всяка инвестиция и процент на възвръщаемост си имат период(например за депозит в банка, 1 година е 3%, следващите 3 години е 1%, следващите 4 - 0,1%), тоест за всеки тип инвестиция процентите възвръщаемост са обвързани с период като можем да имаме и отрицателен процент. Да се има предвид че ако бъде зададен дълъг период може да се наложи не само веднъж да се вложат парите, а след време да се извадят част или целите инвестиции от дадени места и да се инвестират в други, за да се получи по-голяма възвръщаемост. Трябва да симулираме движение на времето в задачата и в конзолата да се вижда какво се случва, освен това всички данни, които са за програмата трябва да се записват и при следващо отваряне да се зареждат.

Команди

Имплементиран е терминал, който приема следните команди от потребителя и връща резултата от тяхното изпълнение:

  • add product [investment characteristics] - добавя нова опция за инвестиране, като записва данните в текстов файл в локалната файлова система

  • add [sum] [period] [investment name] - клиентът влага сума пари за определен период в някоя конкретна инвестиция

  • extract [sum] [investment name] - клиентът изтегля сума пари от някоя конкретна инвестиция

  • start - всички направени инвестици се стартират и времето започва да тече, като след всяка година се принтят временни статистики

  • stop - всички текущи инвестиции се паузират, за да има възможността да се въведе нова команда

  • predictions [sum] [period] - прави се предположение къде в същестуващите инвеции ще е най изгодно да се инвестира и в какъв ред

Пример

При стартиране на програмата клиентът може да провери къде ще му е най изгодно да инвестира парите си, като всички опции за инвестиране се четат от записаните файлове от предни добавяния на инвестиции при стартиране на програмата

	predictions 2000 5   //input 
	Invest in: Raiffeisen Bank for 2 years and then after that in Unicredit Bulbank for 3 years //output

След това ако следва предикшъна ще вложи в Райфайзен Банк за 2 години

        add 2000 2 Raiffeisen Bank //input
	Investment added  //output

След това стартира времето и 2те години изтичат, като след изтичането на всяка година се показва информация за текущата печалба и колко време е изминало, а когато целия период изтече се показва съобщение, че инвестицията е завършила както и цялостната печалба

	start  //input
	Time started  //output
	Current profit of the investment in Raiffeisen Bank: 96.0 for 1 years passed 
	Current profit of the investment in Raiffeisen Bank: 137.92 for 2 years passed
	The investment in Raiffeisen Bank is over. Overall profit: 137.92

След това за да направи нова инвестиция клиентът спира времето, като то може да бъде спирано след всяка година дори и когато все още има протичащи инвестиции

	stop //input
	Time stoped //output
	add 2138 3 Unicredit Bulbank //input
	Investment added  //output

Отово стартира времето

	start //input
	Time started //output
	Current profit of the investment in Unicredit Bulbank: 82.52 for 1 years passed
	Current profit of the investment in Unicredit Bulbank: 104.73 for 2 years passed
	Current profit of the investment in Unicredit Bulbank: 127.15 for 3 years passed
	The investment in Unicredit Bulbank is over. Overall profit: 127.15

Накрая след приключване на инвестицията и за затваряне на програмата клиентът подава сигнал за край и получава информация за цялостната си печалба

	end //input
	Overall profit: 265.07 // output

investments-engine's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.