🕒 פורסם בתאריך: 19/01/2016 00:08
אהלן,
לאחר פעמיים שעשיתי איזון ידני של התיק שלי החלטתי שחבל על הזמן, וכתבתי סקריפט קצרצר שמבצע את הפעולה המתמטית בשבילי.
הקוד, בגדול, משתמש בנתונים של "כמה אחוזים מאיזו מניה" (GLOBAL: 0.4 מציין 40% לאינדקס GLOBAL). לאחר מכן הוא מבקש להזין את הערך הנוכחי של כל מרכיב בתיק ואת כמות ההפקדה (יכול להיות 0). התוצאה היא הכמות שצריך להוסיף / להחסיר על מנת שהתיק יהיה מאוזן.
מאמין שלרוב האנשים פה זה לא ידבר, אבל אולי זה יהיה שימושי למישהו :)
דוגמא לפלט:
קוד:
-------------------------------------------------------
NAME NEW AMOUNT DIFFERENCE
-------------------------------------------------------
GLOBAL 33276.8 +5.8
RUSSEL 2000 20798.0 +1268.0
MSCI EMERGING 8319.2 +3.2
MISC 4159.6 +2036.6
EURO 16638.4 +686.4
-------------------------------------------------------
ספוילר: הקוד (למעוניינים - Python 2.6)
קוד:
import os
CURRENT_DIVISION = {
'GLOBAL': 0.4,
'EURO': 0.2,
'RUSSEL 2000': 0.25,
'MSCI EMERGING': 0.1,
'MISC': 0.05,
}
def signed(f):
return ("+" if f > 0 else "") + str(f)
def main():
values = dict(CURRENT_DIVISION)
for name in values.keys():
print "Current in %s:" % name,
values[name] = float(raw_input())
print "Deposit:",
deposit = float(raw_input())
total = sum(values.values()) + deposit
print "-" * 55
print "%-20s%-20s%15s" % ("NAME", "NEW AMOUNT", "DIFFERENCE")
print "-" * 55
for name, value in values.items():
new_amount = total * CURRENT_DIVISION[name]
print "%-20s%-20s%15s" % (name, new_amount, signed(new_amount - value))
print "-" * 55
os.system('pause')
main()
לאחר פעמיים שעשיתי איזון ידני של התיק שלי החלטתי שחבל על הזמן, וכתבתי סקריפט קצרצר שמבצע את הפעולה המתמטית בשבילי.
הקוד, בגדול, משתמש בנתונים של "כמה אחוזים מאיזו מניה" (GLOBAL: 0.4 מציין 40% לאינדקס GLOBAL). לאחר מכן הוא מבקש להזין את הערך הנוכחי של כל מרכיב בתיק ואת כמות ההפקדה (יכול להיות 0). התוצאה היא הכמות שצריך להוסיף / להחסיר על מנת שהתיק יהיה מאוזן.
מאמין שלרוב האנשים פה זה לא ידבר, אבל אולי זה יהיה שימושי למישהו :)
דוגמא לפלט:
קוד:
-------------------------------------------------------
NAME NEW AMOUNT DIFFERENCE
-------------------------------------------------------
GLOBAL 33276.8 +5.8
RUSSEL 2000 20798.0 +1268.0
MSCI EMERGING 8319.2 +3.2
MISC 4159.6 +2036.6
EURO 16638.4 +686.4
-------------------------------------------------------
ספוילר: הקוד (למעוניינים - Python 2.6)
קוד:
import os
CURRENT_DIVISION = {
'GLOBAL': 0.4,
'EURO': 0.2,
'RUSSEL 2000': 0.25,
'MSCI EMERGING': 0.1,
'MISC': 0.05,
}
def signed(f):
return ("+" if f > 0 else "") + str(f)
def main():
values = dict(CURRENT_DIVISION)
for name in values.keys():
print "Current in %s:" % name,
values[name] = float(raw_input())
print "Deposit:",
deposit = float(raw_input())
total = sum(values.values()) + deposit
print "-" * 55
print "%-20s%-20s%15s" % ("NAME", "NEW AMOUNT", "DIFFERENCE")
print "-" * 55
for name, value in values.items():
new_amount = total * CURRENT_DIVISION[name]
print "%-20s%-20s%15s" % (name, new_amount, signed(new_amount - value))
print "-" * 55
os.system('pause')
main()