I would let them get their hands dirty, learn by practicing. Below you can find a simple program to generate your own efficient frontier, just 29 lines' python. Depending on the age, adult could help in the activity but I would not make it too lecturing. With child-parent relationship, I would make it a challenge, no easy money anymore -- let-your-money work-for-you -attitude, create the efficient portfolio!
If there are many children, I would do a competition over years' time-span or make many small competitions. Winner is the one whose portfolio is closest to some efficient portfolio such as lowest-variance-portfolio, I have the code to calculate things like that but it is trivial so build on the code below. Because the efficient frontier is a good way to let participants to investigate different returns and risk between assets classes like stocks, bonds and money, I would make the thing more serious. The winner could get his/her designed portfolio (to keep it fair in your budget, you could limit choices to index funds starting with 1EUR investment or to ask bottle-price-participation-fee, bring me a bottle and you are in. No money issue.).
Since they probably don't have much money, I would choose free software.
Have fun!
Step-by-step instructions for your own Efficient Frontier
Copy and run the Python script with $ python simple.py > .datSimple
Plot the data with $ gnuplot -e "set ylabel 'Return'; set xlabel 'Risk'; set terminal png; set output 'yourEffFrontier.png'; plot '.datSimple'"
or any spreadsheet program.
Your first "assets" could well be low-risk candies and some easy-to-stale products like bananas -- but beware, notice the PS.
Simple Efficient-frontier generator
#Author: hhh
#License: ISC license
global profit, stdDev, correlation
profit = [0.25,0.2]
stdDev= [0.2,0.15]
correlation = [[1,-0.5],[-0.5,1]]
def portfolioReturn(a,b):
return profit[0]*a+profit[1]*b
def portfolioStdDev(a,b):
variance=0
values=[a,b]
for i in range(2):
for j in range(2):
variance = variance + values[i]*values[j]*stdDev[i]*stdDev[j]*correlation[i][j]
return (variance)**(0.5)
def main():
for x in [h/100.0 for h in range(100)]:
y=1-x
if abs(x+y-1)<1e-10:
print "%s\t%s"%(str(portfolioStdDev(x,y)), str(portfolioReturn(x,y)))
main()
P.s. do not stagnate with collectibles, such as candies and toys, and retailer products, such as mangos, because they are not really good "investments" per se, a bit more like speculation. The retailer gets a huge percentage, for further information consult Bogleheads.org like here about collectible items.