|
改了一下,这次运算应该没啥问题了9 D1 p, Y( B8 I- }' b2 x: E& J
/ o, |/ l, T+ H8 w& W
* w' B9 h E" ?3 Scapture program drop hello
; q" {- Q0 n: H
2 M) H S& C7 T4 P* R/ E) S Iprogram hello
4 d9 { v% Q) e9 k( J( a
9 i3 k. D$ ]; l. S quietly {7 k2 b# D+ l7 b5 X. s2 K" B
. e+ U% {- L& a$ e k6 M3 Kclear
1 V% E2 v3 L4 J' o @5 r; p9 A2 m# G, f) j
cd e:\finance\stock\20110101\source
( B3 n/ A- K2 L0 n/ y7 R# ]& V
& `2 H) {( s* T' R8 T) h- w/ minsheet using `1'.txt8 i E% {3 N0 M% P" y: i
$ P# F, r7 Q5 h9 R keep if v5>0
2 o" z3 }8 Z- w0 p# t# c; ^
% H7 `4 D9 D2 v$ R gen vt=_n. ~, S; z d7 b. F+ m
9 u) U5 }3 K* G7 {5 O& N
tsset vt
7 c* y( L+ `% X
) O2 g- Y, r) j$ n, s( ~+ h gen zf=D1.v5
. U) u8 t j& ~/ ]. f7 Q8 M7 [3 m8 U9 h4 m, j8 ?! `
gsort -v1
+ `; F0 E" \' f# @: ]$ A6 K
3 y S8 C$ b. z5 e4 A gen avol=v7/v5
6 T5 L) O5 Z7 s6 [+ ^6 | 5 ^+ I1 C a6 @0 m
keep if avol>0
4 G) U. L2 z8 g - q* M6 C7 e5 p
drop vt1 I* u- J% M! z( \2 `. c
9 I4 n# k% V' L1 u4 Q gen vt=_n
- T7 k* z; R' }! R, _1 p
" Q3 \9 ^" K7 b' W. d tsset vt* R: y r* d" u' }
j0 x; \' l, ]
sum v5 [aw =avol]6 x$ Z2 `' X, X8 i9 V+ Z
5 A# f9 `( s9 n; [% E8 O% A# Y gen amean=r(mean) in 1: N# n+ q& j) `, T. } F N! y# m
: O6 ~0 y% f- v5 }" u * 总加权平均值 amean
7 K# \, I) I! n) F& m7 F1 s" ~ . f2 H% y# t$ Y( s' f; J6 K/ G
4 T+ x; e U K, A3 o
keep in 1/240( j- {9 y) f [1 d
% X) t) b/ P* w( S
sum v5 [aw =avol]
, v2 F0 C2 h6 i; Z6 N( u3 P* p4 c O
: d2 N7 O' G$ ^: X9 u/ A! t gen mean240=r(mean) in 1
+ s9 }9 w" X* @' o
. w4 r0 o4 d; O) ]0 r! x *240加权平均值 mean240$ X( [$ P6 ?: J9 q7 @( e# V; @
) d' S' b* Z# c$ F0 c7 p2 q
set obs 500
( K" ?" I4 y! [" j
" O1 R1 `7 K- w7 n$ X kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
5 B& Y/ @* k! h& g+ B: V3 K1 _ % Q' F: }. S* T! _; |2 ?4 [* l, q
*240 kdensity(dx240 dy240)6 l2 j$ D- d0 i+ `6 A: X6 t) i" v3 t+ \
9 e1 Y1 f3 m9 ^$ P" l @1 C* R sum dy240
8 z e f8 w+ w. P0 d! `2 _3 n 7 K6 u! r2 v0 T% J; X
gen yxis=r(max) in 1
# b) I/ a2 Q- X3 v! u% o6 w U8 p! S6 [
1 A2 I+ B8 j% L d Z/ W. e gen yxis2=yxis/2. w8 k, j, b0 R
' y% t9 i' @- O: i& R4 i' S/ `
*yxis9 g j4 M! m# K/ E
8 E/ f. Q2 W1 W( o' D$ H7 o gen dy240max=r(max)- d( N7 B7 Z& Y; `- q6 T5 `
8 R$ P1 L- i: k: [7 ] gen dy240minp=r(min)
1 l& e- E, Q6 K3 {
' S9 O' i) {* X gen vtt=_n$ ?0 k6 \6 k# H+ F/ \5 J! M3 U% A: Q
- ]4 P9 F5 y( J. m) ]# a tsset vtt% P) | l, u& y/ P9 U1 s
$ g6 R5 X2 J8 X7 Q ?2 R/ l gen ddy240=D1.dy240/D1.dx240, f: k( o& }; X. J8 {5 _& y
. N9 g: j+ p7 v; R$ r: }# Z
sum ddy240
( \8 W0 F* t4 @/ }% G2 s
$ k' [) y1 W% W& y: V2 \ gen ddy240max=r(max)" D: R* Z0 z" F
6 L1 \# L% |$ r4 \, ~3 a gen ddy240min=r(min)
$ l' U. V# z7 h3 u+ u8 E ' a/ |+ N# H8 c4 x' g. J
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
9 C' F7 x; u& A% S
: y3 X7 ^: S9 K( O1 u+ U7 _ sum ddy240g( B6 t( T7 n3 ?- p5 a. j/ k
5 B3 `/ i+ c) V3 C) g- X2 [( C
gen yxis3=r(min) in 1, [1 g% f$ x k& n
: {1 K0 V& C5 I" L: D. D
gen yxis4=0 in 19 L9 v+ [( i# z! R, R( j
7 T& Q: y% s" v9 D" |6 I, O2 Z
*ddy240g
" x2 _6 M$ N% E- E8 P* V
6 f* S% ]7 F# w0 ~7 p6 \6 ^
# i& l: P: T: L9 Y; K# l preserve l' a( K( ]; A7 z. V7 X! H# _7 Z
# G' ^' ~) R+ M4 }& {; S( m: f sum v5 [aw =avol]2 W8 O8 g: e8 K( I5 J0 x. g
* v$ V! V( [0 [& n' v' O3 B
keep if dx240<r(mean)
# f+ H- Z) d E
/ R1 N$ v0 R- p& Y+ D6 ~1 k sum ddy2409 p! {1 R _* O) s, I8 P
* E8 b I. |& Q if r(min)<0 {
: f8 t% S: d! [ x : y f3 n2 x$ h! j" ]0 s
keep if ddy240<=0. { p6 \; l+ ?
- [8 R5 Q2 b3 X V! L% E) t8 m
count
" h, A5 `- `! w/ X+ D : H- X. n: g7 g1 S
if r(N)>2 {1 q% [( m0 p, I; I# R
* M5 z) T1 l# j7 \+ W5 f4 t% X
pkexamine dx240 dy240
1 \- a. u% O1 ^. R- V7 Z Z7 J6 Z* @/ [/ x2 ^+ d) i
local tempminp=r(tomc)! \' v! Y5 s0 P4 l! C
restore
P% Q- j& F1 S' `$ z$ ]- g! z }; {% B. x* R- _) |; Q
9 Y8 D q7 m" P0 {+ _- [" b else {
9 D8 D. _, {2 K5 D: [. ]% p2 g: W 5 @3 `" v. G* d) Y' u$ d7 m
di "cannot find minp"3 z0 R. H' ^# C0 S
1 q. a& R- C+ z7 v! `. S
restore
C4 p, U, K: \% L sum dx2405 Y; U- t$ U1 {6 P
local tempminp=r(mean)
' L1 D3 T! M+ J0 O/ B# e
1 U5 L i& P& G% t }# n1 e) d+ x2 \, p- @& d' o, P
}: u. e) r- }! r- G/ O/ s
else {& F/ s' m$ i1 N9 l/ P7 r" }: y% Y/ u. Z
" t) R- q# x: |
keep if ddy240<=r(min)+ T1 H+ ?! y2 p8 r
' U* u4 N4 c# `5 j4 ~; F
sum dx2409 C" d4 y2 ?' n* {9 `
~4 w& |9 C' X' O% S: n local tempminp=r(min)
/ z$ i; a- g4 T0 L restore + B" U; M+ c1 R; t/ A9 l8 d
}0 t7 X1 f& B/ {! s% u6 ^
# |8 r6 n; o0 J& \: m
* |6 L5 e1 F" c( w( ^% b! D5 {% i6 l. a: R
gen minp=`tempminp' in 1
4 g8 I- w+ @) G0 R- S+ Q5 g1 ] *240 minp
0 n: z# _! w9 N6 {; s
- w2 y) \ d- ?& Z5 L6 T% I7 V3 [7 k5 _; b) t8 y
# T/ ?( r6 m7 a4 O
preserve 8 e9 _( [% c6 o7 b# H. }
5 J) o( G( K# Z0 \7 M
sum v5 [aw =avol]. G0 P! d' c/ J0 R% E" z5 v4 P: y
6 ?; o/ }# H I% w
keep if dx240>r(mean). R* k& d, x9 k9 g
3 r4 r5 ?6 C0 m' a. N" W sum ddy240) |1 ~9 z2 j4 A/ A
( I2 | @- p5 U
if r(max)>0 {
! e5 e/ P+ w7 p7 i
& n& a* i% n# V$ H8 g8 K% i7 o keep if ddy240>=00 Q+ N6 U, K8 A$ e l
7 _& B Z7 e) P0 k+ A( J
count' J" R- s' b3 G) q" j3 @
' u/ C5 c. }$ L* z1 n& g if r(N)>2 {
' T7 i/ R$ e& n+ D3 |$ g, Q* I. n
5 H) ]: C6 v5 K" h9 e0 ] pkexamine dx240 dy240
6 o( F B0 f3 k+ I
" o- `1 x! B6 r local tempmaxp=r(tomc)
+ g- C1 ?# A9 O; e4 S4 A) Z! C restore / f; A; \6 ]3 B! z# O3 Z; K# @; ]
}( t1 q3 b2 h6 N: `; `- x
$ s0 X+ u! e. i& ^6 U
3 A2 a. N$ Y& R
else {. s/ W& ]0 T, H# M0 Y& Y6 k" z V
restore
8 i" i4 r; f" o) z1 l) X4 u2 H+ h di "cannot find maxp"9 W5 E9 \' p+ P2 c* }/ Y
9 F6 ~% q9 }# c1 c5 |$ h: o! |
+ R/ E* O+ N+ p* z3 C sum dx240
- c4 N' f0 u/ X6 I. }% d5 O0 Q local tempmaxp=r(mean). K5 Q4 n4 s u
8 g& b# e# ^8 s s }
9 K* q5 k E ]* y
& u2 g) z/ [9 l: ] }% c9 Z6 [* g4 ~2 ~ ?% r
! s+ W7 B& x2 q! E" y else {, z3 G) @4 S* t0 Z4 n! f
, h$ K* g6 R3 }: D keep if ddy240>=r(max)
- f) f3 A! G/ t2 X
, y* P. Y7 H; h- b sum dx240
; K2 C8 `4 l$ T; Q + O7 W7 }) ? W
local tempmaxp=r(max) # i2 n- ~1 g: L* \+ Z) E: \. ^& {& v- \
restore
, a3 ]- p: E" A+ S0 p$ b }' _$ x* L1 D8 `- L) v/ D( I6 s
8 e' j+ g% y. @. \1 f6 l
( g6 b0 I( P+ k- V1 b3 z, E/ y % E( T7 ?: w. H) Y6 L8 I$ _+ [
3 N- \* ?3 a2 M+ f( Y. A- L: ] gen maxp=`tempmaxp' in 1
[. t$ e7 U. U9 U( c0 {
! w" P5 }. S, Y$ v *240maxp8 A* a5 T% ~( u! o# q
$ p: P9 Y6 d1 {' U$ C* s6 \- V
3 r3 S. \' A& k *-------------ddy240pminp左侧高峰值-----9 k* t& R" b7 c! b) _4 `. ?
; v4 |( |9 U- z+ x- U0 o1 X preserve
1 [7 k2 @" {0 P
( m1 d) P9 u6 H# d keep if dx240<`tempminp'
6 d5 C6 V/ P- u& F& \$ a' K - V+ F9 [% W% l/ R1 O, ~$ Z) m. m
keep if ddy240>0
1 N/ I U! S% p* e$ ]5 C3 Y, o : k$ a# v* V7 E3 {: c; A0 y
count
* p& s3 H' T/ v v , |6 a4 {+ I6 d1 v' m7 y7 T
if r(N)>2 {% e% w& o( t5 O# w! z8 d( w7 k* U
$ O+ T. ?7 Y/ Q& w pkexamine dx240 ddy240
" T' b( `+ f9 w4 B2 n: b - ^2 i1 S! O2 e
local tempminphddy240=r(tomc)
4 i# e4 K8 d( ]0 W, q# Y restore
U0 Y6 t9 O9 l$ O( r }
. d$ b1 D& g5 V9 i/ V
5 i8 c# _( x' X else {
% t( y* D- C$ r7 T4 w restore
5 Y9 Q1 r: W8 p7 c di "cannot find pminphddy240"2 D* b+ F6 D: N' Z! }: E% v
8 O$ W* R) \/ f
! U! B' ^1 O0 F/ W
sum dx240
- \4 M4 ?6 {) }7 S" J( d% b local tempminphddy240=r(mean)
0 B$ @# N W( w+ e9 M# e
3 m1 b" q C8 E; p5 }5 v ) \" ^% L+ ~6 l6 C; y- G8 d6 y
}- U& k4 p" C1 v4 k# ]# j& F
8 c/ T* b, g0 g6 ?6 u
0 w+ `1 W5 J7 x" I4 k
( P$ F) a; |; q+ _9 }/ J* S$ Q; o3 M! m
: e7 h! D% |% d( Q; F7 I6 p# a
- p! j5 K7 F) D j! Q 8 m& C( S6 p! {" z6 S0 S
gen pminphddy240=`tempminphddy240' in 14 H/ z- v4 q5 X
4 r% Z- b/ U+ P( e+ g! S
" T) B7 `! K% l( i$ B. J: @
*-------------ddy240pminp右侧低峰值 -----------------
' n9 Z5 x- Z' @/ A2 {7 l8 W preserve
- y9 R) |6 z8 x4 E
) E0 a: C" Q5 j2 {. U. P keep if dx240>`tempminp'
+ M, d, W9 y& P% l% m : z! i7 J; ?# G5 o9 O
keep if dx240<`tempmaxp'
% F$ K5 F6 @ r$ P; ]5 v6 O 6 _8 H# \$ g6 o! w: c6 A
keep if ddy240<0
6 f% S. R1 {" G% x8 J1 B( r7 b/ N _8 { 2 ^6 l H, s J; c
gen temddy240=-ddy240
' z$ x0 j+ O' H / P0 F0 {( L( F2 U2 r2 {
count1 B" X* J# D# l8 I" h. O
' s# A9 U2 n" i* _' R) \; `* ] j if r(N)>2 {6 r& J& p0 D$ o$ \; ~5 J4 b, @
, O$ a! y, J) l1 }( X
pkexamine dx240 temddy240
/ P5 ^6 P0 G# E1 \ 3 y6 z) a5 e! |
local tempminplddy240=r(tomc)2 A) j& n% f5 V3 l# M
restore
6 ?$ S" ]& c* x: M& _ }
) J1 e3 }3 X9 i ! p3 q/ @- w, U4 W1 C$ N$ h
else {: M/ D1 y4 Y h, D# j1 `9 H
- s* ?8 c/ h7 \0 U K
di "cannot find pminplddy240"
* M$ v! `) V* g9 k2 f restore K* Y# J$ T6 X4 }
* J: q0 ~. ~$ c. L sum dx240
5 Y; T) N+ D5 {- M; |; y* L local tempminplddy240=r(mean)8 |; Z: J# ]' J$ H+ v5 ~; u; v$ j7 l
/ q% S% k) O; A( V6 L
% d+ C) K9 y* k# T' z# P }
- J9 f9 h9 M' R8 j% x6 I
4 k9 y" C$ ?( f" X* S 0 x0 C2 E5 q; U9 d
2 b; a- R6 k7 Q% d+ E4 [
. P4 W2 p8 ~ y2 V
: J5 W7 Z- F! }- Y gen pminplddy240=`tempminplddy240' in 1
1 h$ j) j4 ?* i$ m2 ~1 d * Z1 j$ \3 R* G2 J. W" Z
*-------------ddy240pmaxp左侧高峰值 -------------------
. s' u+ O& @# T$ }# S
! O6 [2 K% ~) M; E% w" F preserve
% U, |9 N& q; w2 e- ]* d ( @" T4 X: O5 K& o9 J+ B5 P0 b
keep if dx240>`tempminp'8 I- [+ n" A; z$ A1 v! t" t
+ K! E# r |$ ^& c: { keep if dx240<`tempmaxp' _& z6 x4 i* ^% s/ |6 j, A
$ o) ~3 K7 e# N# U9 s; t' R0 \6 N keep if ddy240>0
7 V3 ~3 O% W' {5 N* \ count% X9 q" m7 O; C: M1 W# I/ _
1 b# ]4 S5 ^9 @- _. f' }/ W if r(N)>2 {
7 }2 _% N$ G( S0 T1 c* _2 _
4 c; j% Y; Q3 C# d' A pkexamine dx240 ddy240
1 P- J/ E3 C K1 m& ]: i6 p
2 y2 Y8 f: G+ Z) g3 n+ c: x/ H local tempmaxphddy240=r(tomc)
& W) f2 y# t" ?) i
9 n- u2 _9 ^; ? restore H* D6 J( X6 E8 c
}
N0 H% A: {* U% z7 Z8 S
) p% F" N& }: F+ T& w" F2 m else {: D& s; o9 w _- o1 {3 e! F' U
/ ?# q+ U! R ]' j2 ]
di "cannot find pmaxphddy240"
. `( i9 a p. \' W9 B2 B+ f restore$ d5 L) H8 O$ N3 R
3 E4 S( D" T' {) M( ^; k; U: _' O
sum dx240
5 ]$ R2 \, `, @6 \6 ] local tempmaxphddy240=r(mean) * g4 r, n) G( p5 b, W2 t& G# R
: _# O7 v+ X" x x. V% O# p6 ?
- {8 @7 ~3 c' j8 Q+ E }8 a' ^: s6 [' j& n" t7 z. ]) g
8 l) W5 U0 O; V m! Q1 Y " ?3 r& r5 C' r1 J9 \
6 r- G3 ?' p# u% m4 D: r% B, V
3 W. M% `9 D7 k6 r: [ F' A
: o. Q8 _, i) [3 r ~: L
- ^* C, Y* b. p- Z4 T. O1 [ gen pmaxphddy240=`tempmaxphddy240' in 14 X2 M1 k% c& K+ H0 q) S
- P0 U3 F! a0 ^$ u- t) ?* q
# \" ?3 A* R R6 f# x( d
*-------------ddy240pmaxp右侧低峰值 -------------------- _( I3 T S2 H
5 q5 V* q( R' T+ K preserve : q) \- M( Y4 x- g, N! c
3 \1 I$ }* N; u/ w8 Y
keep if dx240>`tempmaxp'8 V/ Y' _! X% ~% z$ I/ O
4 Q, d7 L9 r3 g
gen temddy240=-ddy240
2 x& M+ o' t- I+ {# Z
2 z& {; V( E% c7 v+ I keep if temddy240>0" L+ ?0 Y) \9 g- ]
( L0 x0 T$ P2 ~! n count# j1 L6 U! e$ H, \3 p) G+ G
% Q) l5 R( E) V- K2 F1 s
if r(N)>2 {
, S/ @; V+ `) w! L; P + l; r" P$ _3 H/ c3 b
pkexamine dx240 temddy240
+ o- C' W9 r% o J
4 d; c+ }8 }8 H( E local tempmaxplddy240=r(tomc) 5 y% U" D0 u N1 Q
restore
5 P. y; K0 T1 _: ?0 [( ~# H }$ p) j+ n8 o B, D: A( M$ ^% E1 V6 }
. e0 R) M! ]% n" E' B% D/ t
else {
Q4 j/ A4 {+ j+ l1 m$ v* w restore
7 L) B( E. ^$ y di "cannot find pmaxlhddy240"
# X; n% B4 T" W& C
( [$ V3 ?) w2 ]2 o5 Q5 k
% c4 ?6 w0 A0 [ r1 [3 Q5 I sum dx240
! q2 B; c) M+ R4 z8 P) c local tempmaxplddy240=r(mean) in 11 z! c1 E u; ?: O$ k/ T
# a$ f" P- f9 R9 U
, B4 L, ^$ k) P# e' [
}1 G$ ?3 ^9 X# ?' [4 ?8 f6 ^
3 \/ j7 H0 F; q; ^" Y% L+ U! m) L$ R0 u
9 g$ k& r- w+ t& z6 S
2 h4 Z8 n9 u6 r0 S3 v! T) M8 V
; h- M# D% ]* ~8 x* |( I
) U- o* w) N$ q & [) g3 N, N% U3 r, G
gen pmaxplddy240=`tempmaxphddy240' in 1
3 X+ F% l$ U* c& i
Q) A9 v6 `9 O *-------------------------------------
8 z4 j* m4 U# m1 m9 `0 @
2 B8 Q) i8 N# ?5 K) g7 a& H9 Q8 Q gen price5d=v5 in 1/20* y0 s) O0 t4 }* J
2 C D) o; i% y! ^, n p6 S s gen price5yy=_n in 1/20( S# {) o v, J
# ~' l7 z! U: R4 t5 E7 V+ M gen price5y=price5yy*(dy240max-dy240min)/20+ P1 |- s6 @) [" \, O- |
_# b0 z0 @( J7 h9 \' ~2 v, d *price5y &price5d
0 ]! S `6 `2 X# o" m, o+ m
& H6 {) r+ v8 G/ r; Q3 A gen priceny=price5y in 1
# ]- Y* }% S+ e2 |: f. ^ / a: k, A" W( o% T. b0 k
gen pricen=v5 in 1
) Z3 ` L' ~. O+ ?- }
2 o* V2 d3 d; W: i
) a( Q3 k3 v: o. Z8 L0 k4 f4 I; K* o *priceny &pricen
7 d) e% q2 J( X/ f w' L 7 H0 V$ ^" z1 C* v A# y7 C
0 X. y) }3 v6 l* @' [' g9 K
*-------------------------graph------------------
# S9 L S4 \1 n
! l0 H2 m. T0 x tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off) q; u8 c/ r: e4 X
6 ^1 ?$ f. R9 {9 d
* ---------可选项目----------------------
/ {6 j8 I' s# N9 h
. \/ l+ v$ b8 H* o}
2 v3 N7 H! f$ F4 _; Pend
{5 A# I: Q6 }( x) R' X& r |
|